2012-04-15 118 views
5

我在我的代碼,這個錯誤,我不知道如何解決它 我的代碼:Mysqli_Query警告:mysqli_query()預計參數1是mysqli的

<?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

你能幫助我請

+0

提示:使用搜索功能來搜索您正在收到的確切錯誤消息。我可以保證你以前這個問題已經回答了很多次。 – deceze 2012-04-15 08:50:59

回答

23

你混合mysqlimysql擴展,這是行不通的。

您需要使用

$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

+2

或者跳到PDO,它提供了許多MySQLi不具備的功能,並且使它更容易避免SQL注入。此外,它可以讓你做對象映射(如果你不想使用ORM,但喜歡這個想法)... http://stackoverflow.com/questions/13569/mysqli-or-pdo-what-are-the -pros-and-cons – 2012-04-15 08:56:00

4

您正在使用不正確的語法。如果您閱讀文檔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(mysql_error())         ; 
+0

在第二個示例中,您將混合使用MySQL和MySQLi庫。在某些情況下,我聽說這種方法有效,但我認爲只堅持一個是明智的做法。 – halfer 2014-08-01 21:19:36

相關問題