2010-07-21 4 views
0
$sql="INSERT INTO wp_comments (comment_post_ID, comment_author, comment_date, comment_content, user_id) 
       VALUES 
       ('$qID', '$author', '$dro', '$content', '$_SESSION[user_id]')"; 

      $result = mysql_query($sql); 
      die(last_insert_id()); 

Когда я запускаю этот код, я вижу только белый экран, поэтому last_insert_id(), похоже, не возвращает никакого значения ... Что я делаю неправильно?mysql_insert_id ничего не возвращает

+0

использовать mysql_error для просмотра ошибок –

ответ

1

С PHP инструкции по выходу (кубика псевдоним выхода):

Если состояние является строкой, то эта функция печатает состояния непосредственно перед выходом.

Если статус является целым числом, это значение будет использоваться в качестве статуса выхода, а не будет напечатано. Статусы выхода должны быть в диапазоне от 0 до 254, статус выхода 255 зарезервирован PHP и не должен использоваться . Состояние 0 используется для успешно завершает программу.

Если last_insert_id() возвращает целое число, оно не будет напечатано.

Кстати, last_insert_id не является встроенной функцией PHP. Вы также должны убедиться, что используете правильную функцию.

Попробуйте это вместо того, чтобы (если предположить, что last_insert_id функция определена):

print last_insert_id(); 
exit(); 
0

Вам необходимо запустить last_insert_id как обычный MYSQL запрос внутри PHP. Что-то вроде этого:

$result = mysql_query("SELECT LAST_INSERT_ID() FROM wp_comments"); 
1

Как указано выше, проверьте mysql_error() или mysql_errno() первым. Хорошим способом их поймать будет:

if (mysql_errno()==0) { 
    // all was good 
    $last_insert_id = mysql_insert_id(); 
} 
else { 
    // error occurred 
    echo mysql_error(); 
} 
Смежные вопросы