2014-02-19 2 views
0

Когда я использую get_result() код остановится, это мой код:mysqli подготовленный оператор get_result()?

$conn = new mysqli($hostdb, $userdb,$passdb,$datadb); 
if(!$conn){ 
    die(print($errormsg)); } 
$ris = $conn->prepare("SELECT * FROM users WHERE user='?' ;"); 
$ris->bind_param("s" , $user); 
$ris->execute(); 
$result = $ris->get_result(); 
echo $result->error; 
$ris1 = $result->fetch_array(MYSQLI_ASSOC); 

echo $result->error; пуст.

решаемые Ошибка в SQL Query

+0

Я не думаю, что этот вопрос должен быть закрыт. –

ответ

1

Это не сработает, потому что при работе с подготовленными операторами вам не нужно писать кавычки для строк, дат и так далее. Метод bind_param делает это автоматически для вас.

Также удалите ';' в конце предложения.

+0

Я меняю его, но у меня когда-либо была эта ошибка ... – Carbos

+0

Поместите код внутри блока try/catch, затем эхо-сообщение об ошибке –

+0

try { $ result = $ ris-> get_result(); } catch (Исключение $ effe) { echo $ effe-> getMessage(); } Я пытаюсь это сделать, но он печатает что-нибудь – Carbos

0

Попробуйте это:

$ris = $conn->prepare("SELECT * FROM users WHERE user=?"); 

Когда вы работаете с подготовленными операторами, вы нормально не используйте ' при объявлении заполнителей.

+0

Я делаю это, но у меня когда-либо была эта ошибка ... – Carbos

+0

Что делает ** var_dump ($ ris1); ** print? – Johnny000

+0

ничего ... пусто – Carbos

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