如何从SQL表中删除行? [英] How to delete a row from a SQL table?

查看:237
本文介绍了如何从SQL表中删除行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一行需要通过PHP从SQL表中删除。该表包含3列:ID,符号和份额:

  foreach($ rows为$ row)
{
if($ row [ Symbol] === $ _POST [ symbol])
{
//我尝试了这些组合,但没有一个起作用:
// $ sql =(从股票ID =?$ _SESSION [id]的股票中删除);
// $ sql =(从股票WHERE ID = $ _SESSION [id]中删除行);
// $ sql =(删除*从股票,其中id = $ _SESSION [id]);
// $ sql =(删除ID,交易代码,股票ID为$ _SESSION [id]的股票);
//从ID为$ _SESSION [ id]的股票中删除;
}
}

我的程序输入了if语句,并对其进行了检查。条件已满足,但未执行DELETE。我该如何解决?

解决方案

此语法应在任何数据库中均有效:

 从编号为XXX 

I的股票中删除不知道是什么? $ _SESSION [id] 应该在做。尝试不使用

 从ID = $ _SESSION的股票中删除[id] 

也就是说,您应该参数化查询而不是将参数放入查询字符串中。 / p>

I have a row that needs to be deleted from a SQL table via PHP. The table has 3 columns: id, Symbol, and 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"];
    }
}

My program enters an if statement, which I checked. The condition is fulfilled, but the DELETE is not executed. How can I fix this?

解决方案

This syntax should work in any database:

DELETE FROM stocks WHERE id = XXX

I don't know what ? $_SESSION[id] is supposed to be doing. Try without the ?:

DELETE FROM stocks WHERE id = $_SESSION[id]

That said, you should parameterize your queries rather than putting arguments into the query string.

这篇关于如何从SQL表中删除行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆