我有一些字符串变量我试图将它们插入到我的数据库中,但是我遇到了麻烦,因为没有任何内容插入到数据库中。我知道变量已填充。由于所有变量都是字符串,因此我将其中一些变换为整数,因为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);
答案 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作为第一个参数。