2016-12-04 78 views
-1

我已经找了好久的答案,现在,很多类似的问题,但没有发现任何解决方案尚未...mysqli_query工作在phpMyAdmin但不是在PHP

反正 所有我想要做的就是标识使用mysqli_query的数据库中的用户,查询似乎在我在phpmyadmin中使用它时起作用,但当我将它用作php脚本的一部分时,查询似乎不起作用。

$username = "bob"; 

$db = mysqli_connect("localhost", "username", "password", "user_data"); 

$sql1 = "select id from user_information where username='$username'"; 
$id = mysqli_query($db, $sql1) or die(mysql_error()); 

echo $id; 

数据库连接工作正常,我可以通过php输入数据。

有什么建议吗? (任何人的帮助非常感谢)。

+1

'$ id'是MySQLi的资源,您需要先取它。 http://php.net/manual/en/mysqli-result.fetch-assoc.php – Qirel

+2

并且死掉(mysql_error());'不会给你任何东西,'mysql_'不会与'mysqli_ ' – Qirel

+1

如果将来''用户名'不会是静态的,你应该使用参数化查询。 http://php.net/manual/en/mysqli.quickstart.prepared-statements.php – chris85

回答

1

您不能打印从mysqli_query的结果,它是mysqli_resource和倾倒的错误,你需要改变mysql_error()来mysqli_error()

$username = "bob"; 
$db = mysqli_connect("localhost", "username", "password", "user_data"); 
$sql1 = "select id from user_information where username='$username'"; 
$result = mysqli_query($db, $sql1) or die(mysqli_error()); 
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    echo $row['id'].'<br>'; 
} 
+0

Works!谢谢 :) – Joel