Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает ф-я mysql_affected_rows - Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in
 
 автор: Паша   (08.12.2007 в 21:05)   письмо автору
 
 

Ребята, помогите разобраться с функцией mysql_affected_rows. Разные варианты записи пробовал, никак не получается.

$n=mysql_affected_rows(mysql_query("DELETE FROM $table1 WHERE number = '$num';")); 
if($n<>0)
{echo ('Маршрут №'.$num.' успешно удалён из базы<br>');}
else
{echo ('Маршрут №'.$num.' не удалось удалить из базы, повидимому данный маршрут отсутствует в базе<br>');} 

Выходит Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in x:\home\localhost\www\vokzal\admin_r\del\del_m.php on line 10. Что я не правильно делаю?

   
 
 автор: exp   (08.12.2007 в 21:23)   письмо автору
 
   для: Паша   (08.12.2007 в 21:05)
 

из мануала

<?php
    
/* соединямеся с базой данных */
    
mysql_pconnect("localhost""mysql_user""mysql_password") or
        die(
"Could not connect: " mysql_error());
    
mysql_select_db("mydb");
        
    
/* здесь функция вернёт корректное число удалённых записей */
    
mysql_query("DELETE FROM mytable WHERE id < 10");
    
printf ("Records deleted: %d\n"mysql_affected_rows());

    
/* без указания WHERE в запросе, функция всегда возвращает 0  */
    
mysql_query("DELETE FROM mytable");
    
printf ("Records deleted: %d\n"mysql_affected_rows());
?>

   
 
 автор: Паша   (08.12.2007 в 21:30)   письмо автору
 
   для: exp   (08.12.2007 в 21:23)
 

Спасибо, понял, вобщем эту функцию нужно просто писать после запроса!

   
 
 автор: Shure73   (08.12.2007 в 21:33)   письмо автору
 
   для: Паша   (08.12.2007 в 21:05)
 

Попробуй так:

$n=mysql_affected_rows(mysql_query("DELETE FROM ".$table1." WHERE number = '".$num."';")); 

Насколько я понял $table1и $num - переменные?

   
 
 автор: Паша   (08.12.2007 в 21:38)   письмо автору
 
   для: Shure73   (08.12.2007 в 21:33)
 

Нет, зачем, запрос ведь выполняется. Эта функция работает после запроса, вот так, я уже проверил:

mysql_query("DELETE FROM $table1 WHERE number = '$num'");
$n=mysql_affected_rows(); 
if($n<>0)
{echo ('Маршрут №'.$num.' успешно удалён из базы<br>');}
else
{echo ('Маршрут №'.$num.' не удалось удалить из базы, повидимому данный маршрут отсутствует в базе<br>');
P.S. Непонимание работы этой функции - это минус учебника!!!

   
 
 автор: cheops   (09.12.2007 в 11:25)   письмо автору
 
   для: Паша   (08.12.2007 в 21:05)
 

В обязательном порядке проверяйте успешно ли выполнится у вас SQL-запрос - если вы не будете его проверять, вы не заметите ошибки и тогда будет появляться сообщение "Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in"
<?php
$query 
"DELETE FROM $table1 WHERE number = '$num';";
$res mysql_query($query);
if(!
$res) exit(mysql_error()); // Без этой проверки вы не узнаете выполнился ли запрос
$n=mysql_affected_rows($res);  
if(
$n<>0
{echo (
'Маршрут №'.$num.' успешно удалён из базы<br>');} 
else 
{echo (
'Маршрут №'.$num.' не удалось удалить из базы, повидимому данный маршрут отсутствует в базе<br>');} 
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования