2014-12-07 3 views
1

Строку необходимо удалить из таблицы sql. Таблица имеет 3 столбца: идентификатор, символ и акцииКак удалить строку из sql

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 не выполняется.

+0

Я пробовал ваши предложения. Эта ошибка появляется: – user3706178

+0

Ошибка анализа: синтаксическая ошибка, неожиданное значение «FROM» (T_STRING) в /home/jharvard/vhosts/pset7/public/sell.php в строке 23 – user3706178

+0

Проблема решена. Это была синтаксическая ошибка. – user3706178

ответ

6

Этот синтаксис должен работать в любой базе данных:

DELETE FROM stocks WHERE id = XXX 

Я не знаю, что ? $_SESSION[id] должен делать. Попробуйте без ?:

DELETE FROM stocks WHERE id = $_SESSION[id] 

Это говорит, вы должны параметризовать свои запросы, а не положить аргументы в строку запроса.

+0

Затем появляется эта ошибка: Ошибка синтаксиса: ошибка синтаксиса, неожиданный «FROM» (T_STRING) в /home/jharvard/vhosts/pset7/public/sell.php в строке 23 – user3706178

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