Вопрос по mysql, php – Предупреждение Mysqli_Query: mysqli_query () ожидает, что параметр 1 будет mysqli [duplicate]

7

This question already has an answer here:

mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc… expects parameter 1 to be resource or result 31 answers

Я получил эту ошибку в своем коде, и я не знаю, как ее решить, мой код:

<?php
session_start();
include_once"connect_to_mysql.php";

$db_host = "localhost";
// Place the username for the MySQL database here
$db_username = "root"; 
// Place the password for the MySQL database here
$db_pass = "****"; 
// Place the name for the MySQL database here
$db_name = "mrmagicadam";

// Run the actual connection here 
$myConnection= mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
mysql_select_db("mrmagicadam") or die ("no database");        
$sqlCommand="SELECT id, linklabel FROM pages ORDER BY pageorder ASC";
$query=mysqli_query($myConnection, $sqlCommand) or die(mysql_error());
$menuDisplay="";


while($row=mysql_fetch_array($query)) {
    $pid=$row["id"];
    $linklabel=$row["linklabel"];
$menuDisplay='<a href="index.php?pid=' .$pid . '">' .$linklabel. '</a><br/>';
}
mysqli_free_result($query);

?>

и это ошибка:

Warning: mysqli_query() expects parameter 1 to be mysqli, resource given in C:\xampp\htdocs\limitless\connect_to_mysql.php on line 17

Что я делаю не так?

Совет. Используйте функцию поиска, чтобы найти точное сообщение об ошибке, которое вы получаете. Я могу гарантировать вам, что на этот вопрос уже много раз отвечали. deceze♦

Ваш Ответ

2   ответа
5

mysqli_query () вы обнаружите, что ему нужно два параметра.

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

mysql $link обычно означает объект ресурса установленного соединения mysqli для запроса к базе данных.

Таким образом, есть два способа решения этой проблемы

Использование mysql_query ()

$myConnection= mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
mysql_select_db("mrmagicadam") or die ("no database");        
$sqlCommand="SELECT id, linklabel FROM pages ORDER BY pageorder ASC";
$query=mysql_query($sqlCommand) or die(mysql_error());

Или mysqli_query ();

$myConnection= mysqli_connect("$db_host","$db_username","$db_pass", "mrmagicadam") or die ("could not connect to mysql"); 
$sqlCommand="SELECT id, linklabel FROM pages ORDER BY pageorder ASC";
$query=mysqli_query($myConnection, $sqlCommand) or die(mysqli_error($myConnection));
Error: User Rate Limit Exceeded
24

MySQLi а такжеMySQL расширения, которые не будут работать.

Вам нужно использовать

$myConnection= mysqli_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql"); 

mysqli_select_db($myConnection, "mrmagicadam") or die ("no database");   

mysqli имеет много улучшений по сравнению с оригиналомmysql расширение, поэтому рекомендуется использоватьmysqli.

Error: User Rate Limit Exceededstackoverflow.com/questions/13569/…

Похожие вопросы