Ошибка SQL PHP

программирование php MySQL базы данных sql

С новым годом)
Голову сломал с ошибкой, помогите люди добрые
_______________Ошибка____________________

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/сайт/public_html/inc/myQuery/index.php on line 61

_______________Содержание файла__________

include("inc/$file/config.php");
$_info['title']=$_info['name']=$name;
$bufer_queries="";
if(@$_SESSION['uid']!="")
{
if($slpage[1]=="index" || $slpage['1'] == "search")
{
$_tpl_content="queries";
$row=file_get_contents("inc/$file/tpl/table_tr.php");
$addq="";
if(@$_SESSION['mq_sort']=="1")
{
$addq=" and t.arhive='0'";
}
elseif(@$_SESSION['mq_sort']=="2")
{
$addq=" and t.arhive='1'";
}
/*$sql=mysql_query("SELECT * FROM `cars` as c, `queries` as q
WHERE q.user_id='$_SESSION[uid]'$addq
and c.id=q.car_id ORDER BY `vendor`,`car` ASC");*/
if($slpage['1'] == "search"){
$ids = (int)$_GET['ids'];
$sql = "SELECT * FROM cars as c, tools as t WHERE c.id = t.car_id AND t.user_id={$_SESSION['uid']} AND "
."t.id = {$ids} LIMIT 1";
}
else{
$sql = "SELECT * FROM `cars` as c, `tools` as t "
."WHERE c.id = t.car_id AND t.user_id='{$_SESSION['uid']}'$addq "
."ORDER BY `date` DESC";
}

$sql = mysql_query($sql);
if(mysql_num_rows($sql)>0)
{
while($tmp=mysql_fetch_array($sql))
{
$car="$tmp[vendor] $tmp[car]";
$sql2 = "SELECT * FROM `tool_items` WHERE `tool_id` = {$tmp['id']}";
$sql2 = mysql_query($sql2);
if(@mysql_num_rows($sql2) > 0){
$q = "";
$note = "";
while($tmp_ti = @mysql_fetch_array($sql2)){
if($q != ""){
$q .= ", ";
}
if($note != ""){
$note .= "<br><br>";
}
$q .= "{$tmp_ti['tool_name']} ({$tmp_ti['orig_number']})";
$note .= $tmp_ti['note'];
}
//$q="$tmp[tool_name] ($tmp[orig_number])";
$s=$row;
$upd = "";
$sql_upd = "SELECT NULL FROM tools_answer WHERE tool_id = {$tmp['id']} AND viewed = 0";
$query_upd = mysql_query($sql_upd);
if(mysql_num_rows($query_upd) > 0){
$upd = "updated_bg";
}
$s=str_replace("{id}",$tmp['id'],$s);
$s=str_replace("{car}",$car,$s);
$s=str_replace("{query}",$q,$s);
$s=str_replace("{updated_cls}",$upd,$s);
//$s=str_replace("{vin}", $tmp['vin_frame'], $s);
$s=str_replace("{year}", $tmp['year'], $s);
$s=str_replace("{company}", $note, $s);
$bufer_queries.=$s;
}
}
Ответы:
mysql_error() и mysql_errno() Вам в помощь....
Во первых, послушайте совета slo_nik и сделайте mysql_error() или хотябы var_dump($query_upd) после $query_upd = mysql_query($sql_upd);
И зачем тут такая конструкция?
                  $sql_upd = "SELECT NULL FROM tools_answer WHERE tool_id = {$tmp['id']} AND viewed = 0";
                   $query_upd = mysql_query($sql_upd);
                 if(mysql_num_rows($query_upd) > 0){
NULL - это не ноль и не пустое значение, это значение, которое не определено. Делается выборка из базы, заполняется "ничем", а потом подсчитываются строки с этим ничем...
И неплохо подучить английский:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/сайт/public_html/inc/myQuery/index.php on line 61
означает : функция mysql_num_rows() должна принимать параметр типа "ресурс" (или ссылка на ресур), но принимает булево (логическое) значение в строке 61. Т.е. там, где Вы выбираете SELECT NULL FROM


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.