用PHP将数据插入mysql表时遇到问题

时间:2014-01-19 17:55:35

标签: php mysql insert

我有一些字符串变量我试图将它们插入到我的数据库中,但是我遇到了麻烦,因为没有任何内容插入到数据库中。我知道变量已填充。由于所有变量都是字符串,因此我将其中一些变换为整数,因为db表中的那些字段是整数类型。我尝试将mysql_query分配给变量,然后检查以返回错误,但它没有显示任何内容。我在PHP上有点新鲜,所以我不确定下面的代码有什么问题。我很感激帮助。

$connect = mysql_connect("localhost", "user", "pass");
if (!$connect) { die("Could not connect: ". mysql_error()); }

mysql_select_db("dbname");

mysql_query($connect,"INSERT INTO table1 (id, AU, TI, JO, VL, ISS, PB, SN, UR, DO, SP, EP, PY) VALUES ('NULL', '".$authors."', '".$title."', '".$journal."', '".(int)$volume."', '".(int)$issue."', '".$publisher."', '".$serial."', '".$url."', '".$doi."', '".(int)$startpage."', '".(int)$endpage."', '".(int)$year."')");

mysql_close($connect);

1 个答案:

答案 0 :(得分:0)

尝试调试代码,添加一些更有用的检查。

$link = mysql_connect("localhost", "user", "pass");
if (!$link) {
    die("Could not connect: ". mysql_error());
}

$dbSelected = mysql_select_db("dbname", $link);
if (!$dbSelected) {
    die ("Can't select db: " . mysql_error());
}

$result = mysql_query("YOUR_QUERY", $link);
if (!$result) {
    die("Invalid query: " . mysql_error());
}

ps:您可能希望使用mysqly::query,因为{@ 3}}已被弃用

ps2:你应该谷歌关于SQL注入,因为你的语句看起来不安全(除非这些值在某处转义)

注意:我刚刚注意到你对mysql_query($ query,$ link)上的参数使用了错误的顺序。您已将$ link作为第一个参数。