2013-12-22 3 views
-2

Мне нужна помощь. Я новичок в PHP, полный новичок в подготовленных заявлениях, и я вытаскиваю все свои волосы. Стандартный SQL-запрос выполняется отлично, но с подготовленными заявлениями что-то ускользает от меня. Я работаю на моем домашнем компьютере с II7.5, PHP 5.5.7 и MySQL 5.6.14 Мой очень простой тест запрос следующим образом:

$userName = "username"; 
$pWord = "password"; 
$sql="SELECT userID, userGroup, userFirst FROM user WHERE userName=? AND userPword=?" 
$stmt=$con->prepare($sql); // error on this line 
$stmt->bind_param('ss', $userName, $pWord); 
$stmt->execute(); 
$stmt->bind_result($userID,$userGroup,$userFirst); 

if($stmt->fetch()){ 
print "user".$userID,$userGroup,$userFirst." is logged in"; 
} 

против линии жирным шрифтом я получаю ошибку синтаксиса ошибок, unexpected '$stmt' (T_VARIABLE). Что он, черт возьми, я делаю неправильно ...? Если кто-то может мне точку в направлении каких-либо хороших и полных учебников для подготовленных операторов это также будет тепло оценили ...

+1

Вы забыли точку с запятой в конце '$ sql =" ... "'. – h2ooooooo

+4

Этот вопрос выглядит не по теме, потому что речь идет о базовой синтаксической ошибке PHP и не будет полезной для других в будущем. –

ответ

7

Вы должны поместить ; разделитель в конце вашей $sql линии:

$sql="SELECT userID, userGroup, userFirst FROM user WHERE userName=? AND userPword=?"; 
+0

Это так глупо от меня ... Ребята, я должен ослепнуть - спасибо всем за быстрый ответ ... Мне нужен перерыв и больше кофе. – Filious

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