嘿我正在尝试创建一个将一些字符串插入MySQL表的页面,但它似乎并不适合我。这是我目前正在使用的代码。
<?php
mysql_connect($address, $username, $password);
@mysql_select_db($database) or die("Unable to select database");
$query = "insert INTO user (movieid, moviename)('" . $id . "','" . $name . "') or die(mysql_error())";
mysql_query($query);
mysql_close();
?>
我哪里错了?
答案 0 :(得分:2)
or die
。查询应该是这样的:
"INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')";
or die
应在致电mysql_query
之后发出。
您可能还有SQL注入漏洞。考虑使用mysql_real_escape_string
。
答案 1 :(得分:2)
根本不应该有die()
,而是trigger_error()
并且必须为查询正确格式化数据:
<?php
mysql_connect($address, $username, $password);
mysql_select_db($database);
$id = mysql_real_escape_string($id);
$name = mysql_real_escape_string($name);
$query = "insert INTO user (movieid, moviename) VALUES ('$id','$name')";
mysql_query($query) or trigger_error((mysql_error().$query);
?>
总是以这种方式做任何mysql工作
答案 2 :(得分:1)
像这样:
$query = "INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')";
mysql_query($query) or die(mysql_error());