2016-04-22 134 views
0

這不是一個問題,我需要你的幫助。我讀了類似的線程,但我無法調試我的代碼中的問題。你能否提供正確的解決方案?PHP Mysqli錯誤:mysqli_query()期望參數1是mysqli,布爾給定

<?php 
/*variable declaration*/ 
$host="localhost"; 
$user="root"; 
$pass=""; 
$dbname='mydatabase'; 

/*connection to mysql server*/ 
$connect = mysqli_connect($host,$user,$pass); 

/*selecting database*/ 
$selectdb=mysqli_select_db($connect,$dbname); 

if(!$selectdb){ 
    echo 'Failed to connect. Wrong username or database.'; 
}else{ 
    echo 'Connection successful.'; 
} 

/*creating task*/ 
$query = "SELECT 'Name', 'Password' FROM 'db' ORDER BY 'id'"; 

if(mysqli_query($selectdb,$query)){ 
echo 'Success'; 
}else{ 
echo '<br>Failed'; 
} 
?> 

enter image description here

+3

'$'連接需要提供的,而不是''在$ mysqli_query selectdb'($ selectdb,$查詢)' –

+0

通行證只有一個參數mysqli_query($ selectdb);而不是mysqli_query($ selectdb,$ query); –

+0

@ManishaChaudhary mysqli_query(...)allway需要2個參數。但他需要使用正確的。 – DocRattie

回答

0

修改

$query = "SELECT 'Name', 'Password' FROM 'db' ORDER BY 'id'"; 

$query = "SELECT `Name`, `Password` FROM db ORDER BY 'id'"; 

你就不能使用對列名的引號的查詢,無論是使用反引號或什麼都沒有。

+0

這是真的,一個語法misstake,但不是因爲他有錯誤的原因。 – DocRattie

+0

@William Madede問題通過使用back-ticks而不是引號解決。順便說一句,你錯過了[db]上的back-ticks。 – 007mrviper

+0

@ 007mrviper真棒謝謝...完成 –

0
if(mysqli_query($connect,$query)){... 

在此,你需要使用$connect而不是$selectdb

0
<?php 
/*variable declaration*/ 
$host="localhost"; 
$user="root"; 
$pass=""; 
$dbname='mydatabase'; 
$connect = mysqli_connect($host,$user,$pass,$dbname); 

/*I avoided this line & used $connect inside if() statement which worked perfectly*/ 
//$selectdb = mysqli_select_db($connect,$dbname); 

if(!$connect){ 
    echo 'Failed to connect. Wrong username or database.'; 
}else{ 
    echo 'Connection successful.'; 
} 

/*creating task*/ 
$query = "SELECT `Name`, `Password` FROM `db` ORDER BY `id`"; 

if($query_run = mysqli_query($connect,$query)){ 
echo 'Success'; 
}else{ 
echo '<br> Failed'; 
} 
相關問題