Я готов вырвать свои волосы ...
Это прекрасно работает:
$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "INSERT INTO wp_zsession_capture
(id, session_id, user_login, first_name, last_name, user_email, phone_number, last_conviction)
VALUES (
'NULL',
'". session_id() ."',
'". $_POST['user_login'] ."',
'". $_POST['first_name'] ."',
'". $_POST['last_name'] ."',
'". $_POST['user_email'] ."',
'". $_POST['phone_number'] ."',
'". $_POST['last_conviction'] ."'
)";
mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
Это делает НЕ работа:
$link = mysql_connect('localhost', 'prototype_wp_usr', 'password') or die("Error: " . mysql_error());
mysql_select_db('prototype_wp');
$query = "UPDATE wp_zsession_capture SET removed = 1 WHERE session_id = '$sessionid'";
mysql_query($query) or die ('Error updating database: ' . mysql_error());
mysql_close($link);
Эти два фрагмента кода находятся внутри формы ... если в форме есть ошибки, запускается FIRST sql-запрос, чтобы сохранить все, что находится в сеансе в этой точке.Если ошибок нет и после выполнения каких-либо других действий выполняется ВТОРОЙ sql-запрос, чтобы ОБНОВИТЬ состояние «удален» в этих ранее сохраненных записях.
Я возился с миллионом альтернативных синтаксисов, и яне может получить эти строки для обновления.Когда я выполняю сырой SQL в phpMyAdmin, он работает нормально.В этом нет ничего логичного ... или, может быть, я просто фантастически устал.
К вашему сведению: $ sessionid = session_id ();
- ОБНОВЛЕНИЕ --
Я действительно ценю озабоченность каждого, но позвольте мне остановиться на некоторых вещах:
- Да, в моей таблице есть столбец с именем «удален» ... Вы серьезно?: P
- Я, конечно, использую session_start ();
- Да, я проверяю $ sessionid, чтобы убедиться, что он вызывается.Он постоянно отображается на странице и также входит в любые операторы
die
, которые я выполняю. - FIRST-запрос отвечает за создание строк, которые SECOND-запрос должен обновлять ... поэтому данныеесть.
mysql_error()
ничего не дает ... ошибки просто нет.
Опять же, я ценю ваше беспокойство, но пока все предложения были опробованы и опробованыснова.