Параметр связывания PDO не работает на промежуточном сервере и сервере хостинга - PullRequest
3 голосов
/ 29 января 2011

Я использую машину WindowsXP для страниц PHP, которые разрабатываю. Я использую PDO для подключения к бэкэнду MySQL. В моей среде разработки он работает просто отлично, но молча останавливает обработку на моем тестовом сервере CentOS 5.5. После некоторой отладки я обнаружил, что она останавливается именно в разделе '$ stmt-> bindParams'.

Мое утверждение таково:

$stmt = $dbh->prepare('SELECT * FROM MEMBERS WHERE ID=:what');

echo 'statement prepared'; //debug

$stmt->bindParam('what', $enteredid);

echo 'parameters bound'; //debug

также пытался

$stmt->bindParam('what', $enteredid, PDO::PARAM_STR, 255);

оба работают на моей машине для разработки, но они останавливаются на моем тестовом сервере.

Я вижу только «подготовленное заявление», и ничего не происходит.

Также пробовал страницу в среде хостинга. То же самое происходит.

Ответы [ 2 ]

1 голос
/ 27 января 2012

Старый, но кто-то может найти это полезным

Правильный код:

$stmt = $dbh->prepare('SELECT * FROM MEMBERS WHERE ID=:what');

echo 'statement prepared'; //debug

$stmt->bindValue(':what', $enteredid);

echo 'parameters bound'; //debug

$stmt->execute();
1 голос
/ 30 января 2011

Когда вы вызываете bindParam (), вам не нужно передавать «: что» в качестве заполнителя для привязки вместо «что»? Не уверен, почему это будет работать на Windows, а не Linux, хотя ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...