корректно ли выглядит эта запись:
PHP |
$page = mysql_fetch_assoc(mysql_query("SELECT * FROM `table`WHERE `id`='".id."'")) or die(mysql_error()); |
PHP |
$page = mysql_query("SELECT * FROM `table`WHERE `id`='".$id."'") or die(mysql_error()); |
Цитата (freed-master @ 16.10.2009 - 23:01) |
а если я уверен что mysql_query() вернет true? |
Цитата (freed-master @ 16.10.2009 - 20:47) |
or die(mysql_error() |
Цитата (sergeiss @ 17.10.2009 - 00:06) | ||||
А тогда зачем писать
??????????????? Тем более, что 100% уверенности быть не может. Мало ли - сервер БД "упал", завис, или еще что-то там произошло. Или ты поменял что-то в запросе, и он уже может не выполниться при каких-то параметрах? Так что проверка нужна в любом случае. Это как мытье рук перед едой (также, как и после каждого посещения туалета ). Должно просто войти в привычку. |
PHP |
$result=mysql_query('select * from tables',$link); |
PHP |
if($result && mysql_num_rows($result)>0); |
Цитата (Nikitian @ 17.10.2009 - 00:06) |
т.к. от нулевого результата mysql_fetch_* выдают всё-те же нотисы (или даже варнинги - не помню уже) |
PHP |
while( $row=mysql_fetch_assoc(....) ) |
Цитата (glock18 @ 17.10.2009 - 01:18) |
Nikitian Обычно стараюсь не использовать mysql_lib, но, кажется, mysql_fetch_* возвращает false если ничего нет (это тот же самый конец выборки строк). Что касается нотисов, то мне, кажется, тебе запомнилось именно то, что иногда уже после обработки запроса к результату обращаются как к массиву (непустому, есесно) -> вот и вылазят нотисы, о которых ты упомянул. Функции выборки сами по себе не выдают, но могут спровоцировать возникновение ошибок (ошибки второго порядка, вроде как). Kuliev Это оправданно. Нельзя сказать, что это нужно всегда, или что без этого никак нельзя жить. Просто это один из способов понять, что ты получил фигу из базы, когда должен был получить что-то типа массива. |
PHP |
$result=mysql_query('select * from tables',$link); |
PHP |
$sql = ("SELECT * FROM `table`"); // сам запрос |
Цитата |
2) я всегда делаю проверку, если $result вернет ЛОЖЬ то php выдаст ошибку в запросе и покажет сам запрос, выглядит это примерно так ( да ты и сам знаешь как) |
PHP |
if($result && mysql_num_rows($result)>0) |
Цитата (freed-master @ 16.10.2009 - 19:47) | ||
id - это опечатка т.е. лучше всетаки так:
|
PHP |
$page = mysql_query("SELECT * FROM `table`WHERE `id`='$id' ") or die(mysql_error()); |