У меня есть строка, которую нужно удалить из таблицы SQL через PHP. Таблица имеет 3 столбца: id, Symbol и Shares:
foreach ($rows as $row)
{
if($row["Symbol"] === $_POST["symbol"])
{
// I tried these combinations, but none of them works:
// $sql = ("DELETE FROM stocks WHERE id = ? $_SESSION[id]");
// $sql = ("DELETE row FROM stocks WHERE id = $_SESSION[id]");
// $sql = ("DELETE * FROM stocks WHERE id = $_SESSION[id]");
// $sql = ("DELETE id, Symbol, Shares FROM stocks WHERE id = $_SESSION[id]");
// DELETE FROM stocks WHERE id = $_SESSION["id"];
}
}
Моя программа входит в оператор if, который я проверил. Условие выполнено, но УДАЛЕНИЕ не выполнено. Как я могу это исправить?
Этот синтаксис должен работать в любой базе данных:
DELETE FROM stocks WHERE id = XXX
Я не знаю что ? $_SESSION[id]
должен делать. Попробуй без ?
:
DELETE FROM stocks WHERE id = $_SESSION[id]
Тем не менее, вы должны параметризовать свои запросы, а не помещать аргументы в строку запроса.
Других решений пока нет …