Php MySql连接。怎么办?
我对php真的很陌生,我正在尝试从表单中使用简单的插入到我的mysql数据库中 我知道这种mysql连接/插入是危险的,不再使用。有人能帮我做这件简单的事吗?我试着用谷歌搜索,但到目前为止没有任何效果:/Php MySql连接。怎么办?,php,mysql,database,mysqli,insert,Php,Mysql,Database,Mysqli,Insert,我对php真的很陌生,我正在尝试从表单中使用简单的插入到我的mysql数据库中 我知道这种mysql连接/插入是危险的,不再使用。有人能帮我做这件简单的事吗?我试着用谷歌搜索,但到目前为止没有任何效果:/ <? $text=$_POST['name']; $text=$_POST['surename']; mysql_connect("localhost", "db_name", "pass") or die(mysql_error()); mysql_select_db("db_
<?
$text=$_POST['name'];
$text=$_POST['surename'];
mysql_connect("localhost", "db_name", "pass") or die(mysql_error());
mysql_select_db("db_name") or die(mysql_error());
$result = mysql_query("INSERT INTO `table` (name, surename)
VALUES (NOW(), '".mysql_real_escape_string($name)."', '".mysql_real_escape_string($surename)."')");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
可能会改变
$text=$_POST['name'];
$text=$_POST['surename'];
到
另外,您的列名与您的值不匹配。您的查询,在插入参数后
"INSERT INTO `table` (name, surename) VALUES (NOW(), '".mysql_real_escape_string($name)."', '".mysql_real_escape_string($surename)."')"
可能是这样的
INSERT INTO `table` (name, surename) VALUES (NOW(), 'Jhon', 'Wick')
如您所见,有姓名、surename
(可能应该是姓氏)和(NOW(),'Jhon','Wick')
。因此,要么添加一列(如果数据库中有该列):
或者从值中删除NOW()
INSERT INTO `table` (name, surename) VALUES ('Jhon', 'Wick')
“我知道这个mysql连接/插入是危险的,不再使用”然后开始学习有用和安全的工具!文件:|。不要浪费你的时间。停止使用不推荐的mysql.*
API。使用PDO或mysqli.*
。并了解防止SQL注入的准备语句您的查询使用名为$name
和$surename
的变量。但我看不出你在哪里定义这些。另外,可能相关的是,您将POST值分配给$text
两次。可能重复
INSERT INTO `table` (created_at, name, surename) VALUES (NOW(), 'Jhon', 'Wick')
INSERT INTO `table` (name, surename) VALUES ('Jhon', 'Wick')