в коде:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
header('Access-Control-Allow-Origin: *');
$link = mysqli_connect("$mysql_host","$mysql_user","$mysql_password") or die("error connect");
mysqli_select_db($mysql_database,$link) or die("error db");
if(isset($_POST["name"])) $name = $_POST["name"];
if(isset($_POST["score"])) $score = $_POST["score"];
if(isset($name)&&isset($score)){
//Запрос к БД на получение нужной строки
$q1 = mysql_query("SELECT * FROM result_table1 WHERE name='".$name."'");
if(mysql_num_rows($q1)==1){
$array = mysql_fetch_array($q1);
if($score!=$array['score']) $q2 = mysql_query("UPDATE result_table1 SET 'score'='$score' WHERE 'name'='$name'");
}else{
$q3 = mysql_query("INSERT INTO result_table1 ('name','score') VALUES ('".$name."','".$score."') ");
}
}
$q4 = mysql_query("SELECT * FROM result_table1 ORDER BY score DESC");
while($row=mysql_fetch_row($q4)){
if($i<10){
echo $row[0].' - '.$row[1].' | ';
$i=$i+1;
}
}
?>
вылезает такая ошибка:
Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/q/q987030w/q987030w.beget.tech/public_html/script.php on line 14 error db
Помогите, пожалуйста!
PHP
Нужна помощь по PHP
Подключаешься к базе с помощью библиотеки mysqli (mysqli_connect, mysqli_select_db). А запросы пытаешься выполнить с помощью библиотеки mysql (mysql_query, mysql_num_rows, mysql_fetch_row).
Разумеется, функции библиотеки mysql ничего не знают о том, что и как подлючалось в библиотеке mysqli.
Либо ВСЁ mysqli_*, либо ВСЁ mysql_*. Но никак не в перемешку.
А в целом представленное - говнокод, типичный для жертв "курсов" и "видеоуроков", клепаемых ламерами, изображающими из себя "гуру PHP".
P.S. А ещё у тебя переменная $i не инициализирована.
Разумеется, функции библиотеки mysql ничего не знают о том, что и как подлючалось в библиотеке mysqli.
Либо ВСЁ mysqli_*, либо ВСЁ mysql_*. Но никак не в перемешку.
А в целом представленное - говнокод, типичный для жертв "курсов" и "видеоуроков", клепаемых ламерами, изображающими из себя "гуру PHP".
P.S. А ещё у тебя переменная $i не инициализирована.
Вот такой порядок параметров у функции. А ты как передаёшь?
У тебя есть переменная $mysql_database?

У тебя есть переменная $mysql_database?

В цикле $i надо инициализировать, да и $i=$i+1 это плохо, есть $i++
----
$link = mysqli_connect("$mysql_host","$mysql_user","$mysql_password") or die("error connect");
mysqli_select_db($mysql_database,$link) or die("error db"); // Используем mysqli$q1 =
mysql_query("SELECT * FROM result_table1 WHERE name='".$name."'"); // А тут выполняем mysql
1. Мешанина недопустима
2. Твой код защищён настолько же, насколько банковский сейф, ключ от которого лежит под ковриком. https://www.php.net/manual/ru/security.database.sql-injection.php -- читай, даже спокойно вколю туда получение данных админа.
Не можешь нормально работать в процедурном интерфейсе - используй ООП. Читай https://www.php.net/manual/ru/book.pdo.php. Если хочешь ещё быстрее всё делать и не хочешь сам писать запросы (или просто лень самому работать с CRUD), то RedBeanPHP - https://redbeanphp.com/index.php
----
$link = mysqli_connect("$mysql_host","$mysql_user","$mysql_password") or die("error connect");
mysqli_select_db($mysql_database,$link) or die("error db"); // Используем mysqli$q1 =
mysql_query("SELECT * FROM result_table1 WHERE name='".$name."'"); // А тут выполняем mysql
1. Мешанина недопустима
2. Твой код защищён настолько же, насколько банковский сейф, ключ от которого лежит под ковриком. https://www.php.net/manual/ru/security.database.sql-injection.php -- читай, даже спокойно вколю туда получение данных админа.
Не можешь нормально работать в процедурном интерфейсе - используй ООП. Читай https://www.php.net/manual/ru/book.pdo.php. Если хочешь ещё быстрее всё делать и не хочешь сам писать запросы (или просто лень самому работать с CRUD), то RedBeanPHP - https://redbeanphp.com/index.php
SELECT * FROM result_table1 WHERE name='".$name."'"
такие запросы никто не пишет, есть такое как sql инъекция вот почитай
https://habr.com/ru/post/148151/
также забудь о библиотеках mysql и mysqli и переходи на PDO
http://phpfaq.ru/pdo
в запросах не указываешь кавычки, это не обязательно, но к правильному письму нужно приучаться сразу, простой пример выбоки с бд
$sql = $pdo->prepare("SELECT `ochki` FROM `My_BD`.`main_turnirs` WHERE `id_tur` = :id_tur AND `player` = :player");
if ($sql->execute(array(':id_tur' => $infa[0],':player' => $wite[$t][$d]))){
$row = $sql->fetch();
$wite_ochki=$row['ochki'];
} else {alert('error');}
Также ни один из своих запросов ты не проверяешь прошел он не прошел, обрати внимание как у меня в примере если запрос не прошел нет никакой выборки, у тебя же если запрос не пройдет, скрипт все равно будет пытаться что то делать вследствие чего будет много ошибок на ровном месте.
Ну а причину ошибки твоего кода, ребята выше детально описали...
такие запросы никто не пишет, есть такое как sql инъекция вот почитай
https://habr.com/ru/post/148151/
также забудь о библиотеках mysql и mysqli и переходи на PDO
http://phpfaq.ru/pdo
в запросах не указываешь кавычки, это не обязательно, но к правильному письму нужно приучаться сразу, простой пример выбоки с бд
$sql = $pdo->prepare("SELECT `ochki` FROM `My_BD`.`main_turnirs` WHERE `id_tur` = :id_tur AND `player` = :player");
if ($sql->execute(array(':id_tur' => $infa[0],':player' => $wite[$t][$d]))){
$row = $sql->fetch();
$wite_ochki=$row['ochki'];
} else {alert('error');}
Также ни один из своих запросов ты не проверяешь прошел он не прошел, обрати внимание как у меня в примере если запрос не прошел нет никакой выборки, у тебя же если запрос не пройдет, скрипт все равно будет пытаться что то делать вследствие чего будет много ошибок на ровном месте.
Ну а причину ошибки твоего кода, ребята выше детально описали...
вагuну с6ешь
Похожие вопросы
- Регистрация php обработчик, нужна помощь
- Нужна помощь c запросами и базой данных, PHP, MySQL
- Php нужна помощь
- Для чего нужна файловая система PHP?
- какой функционал делают на сайтах с помощью php? вообще не пойму что конкретно пишут на этом языке на сайтах..
- Как спарсить страницы с помощью PHP (адрес страниц тот же, но содержимое разное в зависимости от введённого логина)?
- Как заменить html код с помощью php файла.
- Для чего нужен PHP?
- PHP Polling ChatGPT
- PHP язык: Помощь