MySQL, где заявление работает в phpmyadmin, но не на сайте - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть этот запрос:

$res=mysql_query("SELECT * FROM `t_modules` WHERE nPageM='61'") or die(mysql_error());

В phpmyadmin он возвращает (как и ожидалось) 2 строки, но на странице возвращает 0. Если я использую

$res=mysql_query("SELECT * FROM `t_modules` WHERE nPageM<>'61'") or die(mysql_error());

или

$res=mysql_query("SELECT * FROM `t_modules`") or die(mysql_error());

он корректно работает на странице, просто не работает комбинация WHERE и =. Я также проверил, что тип для nPageM - int (11)

UPDATE

Я могу выполнять сравнения для других столбцов таблицы, но не для nPageM

$res=mysql_query("SELECT * FROM `t_modules` WHERE id_md='5'") or die(mysql_error());

Работает.Но я до сих пор не понимаю, почему он не работает со столбцом nPageM

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Вы гарантировали, что включили соединение с базой данных в свой PHP-скрипт перед запуском этого кода?

<?php
$con = mysql_connect('sqluser', 'sqlpassword', 'sqlserver');
$db = mysql_select_db('dbame', $con);

//now, make sure it's connecting
if (!$con) {
die('mysql connection error' . mysql_error());
}
if (!$db) {
die('mysql Database error' . mysql_error());
}
?>
0 голосов
/ 15 сентября 2011

Вместо этого попробуйте заключить в скобки:

$res=mysql_query("SELECT * FROM `t_modules` WHERE (nPageM<>'61') ") or die(mysql_error());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...