Может кто-нибудь, пожалуйста, скажите мне, каковы все возможности возвращаемых значений для @mysql_affected_rows. Потому что я проверяю if(@mysql_affected_rows())
. В большинстве случаев он возвращает 1 (sucess) или 0 (не sucess). Так оно и работало правильно. Но в некоторых случаях он возвращает некоторое значение, отличное от 0, если не успех при обновлении.Возможные значения @mysql_affected_rows возвращают значения?
Я не знаю, что он возвращает. Но он входит в цикл. Внутри цикла я пытаюсь вставить данные. Но на это указывает ошибка дублирования SQL. Для справки проверить код, приведенный ниже, пожалуйста,
$sqlU = sprintf("UPDATE %s SET count = count + 1
WHERE id = %d", 'table', 123);
mysql_query($sqlU);
if([email protected]_affected_rows()) {
$sqlI = sprintf("INSERT INTO %s (id) VALUES (%d)",
'table', 123);
mysql_query($sqlI);
}
почему вы используете как 'если это (! @ Mysql_affected_rows()) {'? –
Документация PHP говорит вам, что она возвращает количество затронутых строк или -1 при неудаче. Не так сложно получить информацию, не спрашивая о SO. С другой стороны, вы используете устаревший способ обработки связи с базой данных, а также не проверяете, выполняется ли ваш запрос или нет - в основном слишком много плохих вещей происходит в вашем коде. Вы должны изучить PDO. –
Ваш код также не имеет смысла. Почему 'UPDATE' строка и потом' INSERT' тот же самый снова? – ferdynator