2016-12-04 3 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

И 'или die (mysql_error());' ничего не даст вам, 'mysql_' не смешивается с' mysqli_ ' – Qirel

+1

Если' $ username' не будет статическим в будущем, вы должны использовать параметризованные запросы. 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

Работает! Благодаря :) – Joel

Смежные вопросы