mySQL INSERT INTO失败,没有错误消息

时间:2015-02-12 22:36:09

标签: php mysql sql-insert

我一直在尝试让它工作超过一天,不断检查语法和重写。我已经尝试过这样做了,删除了",然后还有' 。我看不出它为什么不起作用的任何原因,我也无法得到提供信息的错误信息。 以下是相关结果的相关代码。
(代码在用户注册页面的表单提交上运行)

$inputSQL = "INSERT INTO users (username,password,gname,mname,surname,address,state,postcode,tel,favourite,fan,susername,score,margin) 
VALUES('" . $userName . "','" . $password . "','" . $givenName . "','" . $middleName . "','" . $familyName . "','" . $address . "','" . $state . "','" . $postcode . "','". $phoneNumber . "','" . $favTeam . "','" . $fan . "','" . $sysUserName . "','0','0')";
echo $inputSQL;
mysql_query($inputSQL,$conn)
or die('Problem with Registration Query ' . mysql_error());

结果:

INSERT INTO用户(用户名,密码,gname,mname,姓氏,地址,州,邮政编码,电话,收藏,粉丝,姓名,分数,保证金)价值(' lanx','密码''给''中''上''添加''昆士兰州&#39 ;, ' 1234',' pohne',' Gold Coast Suns' Y',' mag1330',' ; 0',' 0')注册查询问题

正如你所看到的,mysql_error()甚至没有给我一个错误信息,尽管查询显然已经失败了。 我检查了数据库字段类型,它们都是VARCHAR,除了邮政编码,分数,边距(INT)和扇形(CHAR(1))。同样,就我试图输入的数据而言,我无法看到任何问题。 有谁知道我怎么能这样工作?

1 个答案:

答案 0 :(得分:0)

  1. 你忘了“。”在VALUES之前。
  2. 你可以简单地使用php变量而不用'“。”'
  3. 试试这个

    $con = mysql_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
    mysql_querry ("INSERT INTO users (username, password, gname, mname, surname, address, state, postcode, tel, favourite, fan, susername, score, margin) "
        . "VALUES('$userName','$password','$givenName','$middleName','$familyName','$address','$state','$postcode','$phoneNumber','$favTeam','$fan','$sysUserName', '0', '0')");
    

    注意:DB_HOSTNAME,DB_USERNAME,DB_PASSWORD - 您的常量。