2012-12-22 74 views
1

當啓動我的代碼我得到一個失敗的查詢和以下錯誤:正確mysqli_query和mysqli_error配置

mysqli_query()預計參數1是mysqli的,空在

mysqli_error給予()預計參數1爲庫MySQLi,字符串中

<?php 
include('mysql_config.php'); 

function mysqlConnect() 
{ 
    global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database; 
    $link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password) 
    or die('Could not connect: ' . mysqli_error()); 
    mysqli_select_db($link,$mysql_database) or die('Could not select database'); 
    return $link; 
} 

function mysqliClose($link) 
{ 
    mysqli_close($link); 
} 

function sendQuery($query) 
{ 
    $result = mysqli_query($link, $query) or die('Query failed: ' . mysqli_error("could not query")); 
    return $result; 
} 

?>

給出

如何正確格式化mysqli_query和mysqli_error函數?

+1

'$ link'從哪裏來?檢查你的'sendQuery'函數..錯誤很明顯..'$ link'沒有被定義.. –

+2

你有一個範圍問題:http://php.net/manual/en/language.variables.scope.php –

+0

你最好考慮更改'或死(...)'處理錯誤的方法。首先請訪問http://www.phpfreaks.com/blog/or-die-must-die。 – peterm

回答

2

有上面代碼中的兩個錯誤:

  • 你錯過了申報$linkglobal$mysql_hostname
  • 您傳遞了錯誤的參數類型mysqli_error(),預計mysqli,你通過了string

我改變了你的例子:

<?php 

include('mysql_config.php'); 

// declaring an additional global var. 
$link = NULL; 

function mysqlConnect() 
{ 
    global $link; // using the global $link 
    global $mysql_hostname, $mysql_username, $mysql_password, $mysql_database; 
    $link = mysqli_connect($mysql_hostname, $mysql_username, $mysql_password) 
    or die('Could not connect: ' . mysqli_connect_error()); 
    mysqli_select_db($link,$mysql_database) or die('Could not select database'); 
    return $link; 
} 

function mysqliClose($link) 
{ 
    mysqli_close($link); 
} 

function sendQuery($query) 
{ 
    global $link; // using the global $link 
    $result = mysqli_query($link, $query) or die('Query failed: ' 
     . mysqli_error($link)); // note $link is the param 
    return $result; 
} 
+0

在一個聲明'die('無法連接:'。mysqli_error())''你最好使用'mysqli_connect_error()'而不是'mysqli_error()'。見[mysqli_connect](http://php.net/manual/en/mysqli.construct.php) – peterm

+0

謝謝!更新了示例 – hek2mgl