本文目录一览:
php向mysql插入数据出错
mysql语句在执行insert,update时,对于非数字的值,必须加引号,比如
1update tablename set attrA='valueA'1update tablename set attrA=valueA;
这样就会报错。对于数字的值,可以不加,加上也不会影响插入效果,比如
1update tablename set intAttrA = 1;1update tablename set intAttrA = '1';
这两种都是可以的。
你这里报错的一行代码,假设输入的$_POST['username']
=
‘a’;$_POST['pwd']
=
‘b’;$_POST['content']
=
'c';
在处理后,最后执行的是
INSERT
INTO
userinfo
(username,
pwd,
content)
VALUES
(a,
b,
c);
它的错误就是上面说的非数字类的值,没带引号。
但实际上,正确的语句应该是
INSERT
INTO
userinfo
(username,
pwd,
content)
VALUES
(‘a’,
‘b’,
‘c’);
所以你测试的
$query
=
'INSERT
INTO
userinfo
(username,
pwd,
content)
VALUES
("username",
"pwd",
"content")';
能正确执行。
最后问题的解决方法是:
1234567$query = "INSERT INTO userinfo (username, pwd, content) VALUES ('".$_POST['username']."', '".$_POST['pwd']."', '".$_POST['content'].")"; 另外 为了看起来舒服点,可以这么写:$query = sprintf("INSERT INTO userinfo (username, pwd, content) VALUES ('%s', '%s', '%s);",$_POST['username'],$_POST['pwd'],$_POST['content']); 最后,你这种写法,有Sql注入的风险,从安全角度来讲是不可取的。所以应该这么写:$query = sprintf("INSERT INTO userinfo (username, pwd, content) VALUES (unhex('%s'),unhex('%s'), unhex('%s'));",bin2hex($_POST['username']),bin2hex($_POST['pwd']),bin2hex($_POST['content']));
用php往mysql里面添加数据
$conn=mysql_connect("localhost","root","5201314")or die("连接失败"); mysql_select_db("test",$conn); $sql="INSERT INTO g (uid, regdate, remark) VALUES ('小建', '2010-03-29', '鸭子')"; $result=mysql_query($sql); ? 应该是uid的类型的问题 你把它改一下 具体的你可以加我的QQ:604250149 我会为你解答的
php和mysql怎么添加数据
首先创建 一个HTML页面userinfo_add.php,在里面输入表单,文本框,输入需要提交的到数据库的信息:
账号 姓名 年龄
页面运行结果:
创建一个PHP文件(userinfo_insert.php),用来处理页面请求的,就是具体往数据库添加数据的代码:
先获取页面数据
//通过post获取页面提交数据信息 $userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
接下来,在连接数据库 ‘test’
//地址
$url = "127.0.0.1";
//账号
$user = "root";
//密码
$password = "root";
//连接
$con = mysql_connect($url,$user,$password);
//设置编码机
mysql_query("set names 'utf8'");
//连接数据库
mysql_select_db("test");
编写SQL,执行SQL添加数据
$sql = "insert into user_info (user_id,user_name,user_age) values('$userId','$userName','$userAge')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "添加一条记录";
//关闭连接
mysql_close($con)
运行结果前:
运行结果后:
完整代码:
php网站怎么添加mysql数据
首先创建
一个HTML页面userinfo_add.php,在里面输入表单,文本框,输入需要提交的到数据库的信息:
账号
姓名
年龄
页面运行结果:
创建一个PHP文件(userinfo_insert.php),用来处理页面请求的,就是具体往数据库添加数据的代码:
先获取页面数据
//通过post获取页面提交数据信息
$userId
=
$_POST[userId];
$userName
=
$_POST[userName];
$userAge
=
$_POST[userAge];
接下来,在连接数据库
‘test’
//地址
$url
=
"127.0.0.1";
//账号
$user
=
"root";
//密码
$password
=
"root";
//连接
$con
=
mysql_connect($url,$user,$password);
//设置编码机
mysql_query("set
names
'utf8'");
//连接数据库
mysql_select_db("test");
编写SQL,执行SQL添加数据
$sql
=
"insert
into
user_info
(user_id,user_name,user_age)
values('$userId','$userName','$userAge')";
if
(!mysql_query($sql,$con))
{
die('Error:
'
.
mysql_error());
}
echo
"添加一条记录";
//关闭连接
mysql_close($con)
运行结果前:
运行结果后:
完整代码:
PHP插入数据到mysql
mysql_query("insert into content ('name','time','content') values('$name','$dat' ,'$mycontent') " );
$result = mysql_query("SELECT * FROM content where 'name'='$name' ");
请将这两行内所有有关 字段 加的单引号('')全部换成 符号(``),你这里是不能加''的,在数据库中''中永远被识别为字符串,而不是字段和表名. 而是字符串值的则必须要加单引号,'name'是错误的,'$name'是正确的.(最好这么写'{$name}')
================================================
用下面的替换下那两行句子吧
mysql_query("insert into `content` (`name`,`time`,`content`) values ('{$name}','{$dat}' ,'{$mycontent}');" );
$result = mysql_query("SELECT * FROM `content` where `name`='{$name}' ");
很关键的是我想问问你的time字段是字符串型的吗? 如果不是,就需要将$dat的引号删除了.