当前位置: 首页 > 知识库问答 >
问题:

无法使用php脚本删除记录

厉钊
2023-03-14

当我转到produkdelete.php时,我可以查看我想要删除的记录,但是当我确认删除时,没有删除的记录

这是我的剧本:

$key = @$_GET["key"];

case "I": // Get a record to display

   $tkey = $key;
   $strsql = "SELECT * FROM `produk` WHERE `id`=".$tkey;

   $rs = mysql_query($strsql, $conn) or die(mysql_error());

    if (mysql_num_rows($rs) == 0)
    {
        ob_end_clean();
        header("Location: "."produklist.php");
    }

    $row = mysql_fetch_assoc($rs);
    $x_id = $row["id"];
    $x_kdprod = $row["kdprod"];
    $x_namaprod = $row["namaprod"];
    $x_diskripsi = $row["diskripsi"];
    $x_harga = $row["harga"];

    mysql_free_result($rs);
    break;

case "D": // Delete

    // Open record
    $tkey = $key;
    $strsql = "DELETE FROM `produk` WHERE `id`=".$tkey;

    $rs = mysql_query($strsql, $conn) or die(mysql_error());

    mysql_free_result($rs);
    mysql_close($conn);

    ob_end_clean();
    header("Location: produklist.php");
    break;

关键变量是从"produkdelete.php?key=". urlencode($row["id"])发送;

每次我运行它时,输出都是这样的:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“=”附近要使用的正确语法

共有1个答案

曹自怡
2023-03-14

在SQL Management Studio中,这不会运行。

$strsql=“从produk中删除,其中id=”$tkey

丢失`,它应该执行。

使用PDO增加安全性(解释如下)

    $myServer = "put url to your server here";
    $myDB = "put name of database here";
    $name = "login name db";
    $pw= "password db";

    try 
    {
        $dbConn = new PDO("mysql:host=$myServer;dbname=$myDB", $name, $pw);
    }
    catch( PDOException $Exception ) 
    {   
        //Uncomment code to show error
        //var_dump($Exception);
    }       

    function doPDOQuery($sql, queryArguments = array())
    {   
        $sth = $db->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
        $sth->execute($queryArguments );
    }

    $sql = 'SELECT * FROM produk WHERE id= :id';
    doPDOQuery( $sql, array(":id" -> $tkey) );

这应该在您的服务器上执行。它使用PDO模块来创建准备好的查询。这意味着查询本身是由数据库驱动程序本身创建的。这可以防止SQL注入。这是弃用MySQL_functions的原因。

对于删除更新插入,上面的代码就足够了。你需要做一个$sth-

为什么不建议使用PHP的mysql_函数?

 类似资料:
  • EventLicensetype.hbm.xml文件: 下面是EventInfo类。同样,在实际文件中有更多的字段,这只是重要的部分: 下面是EventLicenseType类 为什么它不能直接删除记录?为什么它要更新??我还尝试将代码更改为下面的代码,并得到相同的错误。 谁能帮我解决我缺少的东西,或者给我指明正确的方向?

  • 如何更改Springboot Kafka的日志记录?我在我们的Splunk服务器上看到了超过200万条消息,但什么都不起作用: 还尝试了: 依赖性: 这些都没有任何作用。我错过什么了吗?

  • 我授予所有特权。这是脚本: 我在浏览器中看到以下消息: 警告:mysqli::mysqli():(HY000/1045):在C:\xampp\htdocs\web-datos\connect\u-mysql中,用户“username”@“localhost”(使用密码:YES)的访问被拒绝。php第11行 拒绝访问用户“username”@“localhost”(使用密码:YE 我试图联系但没有成

  • 问题内容: 我从PHP脚本执行Python脚本时遇到问题。我的客户端使用Bluehost,因此我使用在此描述的easy_install方法为Python安装了第三方模块(numpy):https ://my.bluehost.com/cgi/help/530?step = 530 为了演示我的问题,我创建了两个python脚本和一个PHP脚本。 hello.py包含: hello-numpy.py

  • 问题内容: 是否可以使用BeautifulSoup从HTML中删除脚本标签及其所有内容,还是必须使用正则表达式或其他内容? 问题答案:

  • 我使用恶意软件字节,每次我访问我的wordpress网站,它阻止一个脚本试图在页面上运行,脚本是: 我不确定它是否是恶意的,但我想删除它,但是我不知道是哪个插件或文件导致了它,我试图查看页面源等。 剧本的意思是什么?有没有办法找出是什么原因造成的? 任何帮助都将不胜感激。