我用post的方式传递了一个变量到php文件,然后该php文件调用了该函数,具体代码如下:
<?php
$mlink=mysql_connect("localhost","root","");
mysql_select_db("db");
$var=$_POST['name'];
mysql_query("delete from mytable where name=$var");
?>
结果最后一句没有作用,我测试过了,echo $var;是正常的。
对于最后一句,其他形式如mysql_query("delete from mytable where name="+$var);
还是mysql_query("delete from mytable where name={$var}");还是其他按照各类人群的方法写出的,结果都没用,怎么解决呢?

解决方案 »

  1.   

    mysql_query("delete from mytable where name='$var'");
      

  2.   

    SQL对于除了数值类型的都需要添加引号.
      

  3.   

    可以试一下另外一种方法试一下:<?php
    @ $db = new mysqli('localhost','root','','db');
    $query = "delete from mytable where name='".$var."'";
    $result = $db->query($query)
    ?>
      

  4.   

    注意数据库表中和你要执行的sql语句给出的参数类型必须一致。
    最简单的办法把你的sql语句打出来,放到mysql中执行以下,执行通过则证明你的sql语句正常;反之,在sql语句中找问题吧。
    楼上的各层都正解。
      

  5.   

    要加引号。对于mysql_query 应该注意删除没啥问题,如果mysql_query查询比较多的话还是建议用 mysql_unbuffered_query()
    http://www.itbajie.com/2012/03/53.html
      

  6.   

    mysql_query("delete from mytable where name="+$var);
    你是学JAVA的把。。
    PHP里连接符 是.
    mysql_query("delete from mytable where name='".$var."')";
    这样就对了  单引号也可以不加 但是加了比较好
      

  7.   

    字符串类型的必须用quotation s
      

  8.   

    mysql_query("delete from mytable where name='{$var}'");
      

  9.   

    你自己打印sql语句看看就知道了。
      

  10.   

    如果你的数据库没有问题你可安照java124628022写的方法试一下仅供参考
      

  11.   

    把要执行的sql语句,完整的打印出来,就知道哪里出了问题了。
    跟编程语言似乎还真没什么关系。字符串类型作为列值,是要加引号的。