2014-12-07 31 views
1

需要从sql表中删除行。表有3列:id,符号和份额如何从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 2014-12-07 17:50:17

+0

解析错误:语法错误,第23行的/home/jharvard/vhosts/pset7/public/sell.php中出现意外的'FROM'(T_STRING) – user3706178 2014-12-07 17:50:54

+0

问题已解决。这是语法错误。 – user3706178 2014-12-07 21:58:29

回答

6

这句法应该在任何数据库工作:

DELETE FROM stocks WHERE id = XXX 

我不知道什么是? $_SESSION[id]应该做的。尽量不?

DELETE FROM stocks WHERE id = $_SESSION[id] 

这就是说,你应该参数的查询,而不是将参数传递到查询字符串。

+0

然后出现此错误:解析错误:语法错误,第23行/ home/jharvard/vhosts/pset7/public/sell.php中意外的'FROM'(T_STRING) – user3706178 2014-12-07 17:52:11