2010-04-03 2 views
0

Привет всем У меня есть эта линия в моем PHP кодMySql Удалить только удаляет данные не всю запись

`$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ; 
    Mysql_query ($insert) ;` 

Проблема заключается в том, что будет удалить все значения из одной строки в моей таблице, но не сама запись. как вы можете видеть на картинке, если я удалю где job = 315, он не удаляет строку, но удаляет все записи.

В этом коде, который предшествует этому (другая таблица). он отлично работает, и вся линия удалена

$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ; 
mysql_query ($insert) ;enter code here 

может кто-нибудь предложить некоторые советы пожалуйста ?? alt text http://img34.imageshack.us/img34/4431/tablenj.jpg

+0

Не работает ли ссылка id = 315 где-либо в других таблицах? –

ответ

0

У вас есть какие-либо процедуры обработки ошибок в вашем коде?
Вы также можете добавить отладочный вывод (или даже лучше использовать отладчик как xdebug)
(упрощенно) пример:

$insert = "DELETE FROM allocation_table WHERE job = '$jobnumber' " ; 
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>'; 
$rc = mysql_query($insert); 
if (!$rc) { 
    echo '<pre>mysql_query failed: ', mysql_error(), '</pre>'; 
} 
else { 
    echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>'; 
} 

$insert = "DELETE FROM event WHERE jobnumber = '$jobnumber' " ; 
echo '<pre>Debug: query=', htmlspecialchars($insert), '</pre>'; 
$rc = mysql_query($insert); 
if (!$rc) { 
    echo '<pre>mysql_query failed: ', mysql_error(), '</pre>'; 
} 
else { 
    echo '<pre>Debug: affected rows=', mysql_affected_rows(), '</pre>'; 
} 
+0

Да, я делаю (удалено для ясности хотя), но в любом случае запись не удаляется только данные спасибо – Mick

0

Может быть, у вас есть некоторые странные настройки на вашем столе MySQL, который вызывает запрос для работы по-разному. Вы сами создали таблицу (с PMA?) Или импортировали ее из другого места?

Когда вы удаляете с помощью PHPMyAdmin, какой запрос он запускает?

0

Попробуйте удалить PhpMyAdmin и посмотреть, что произойдет. По крайней мере, там вы сможете легко увидеть сообщение об ошибке.

Есть ли у вас внешние ключи и/или ограничения таблиц?

Смежные вопросы