php添加数据为什么只能填加数字和英文,添加文字就会报错
程序员文章站
2022-04-23 21:56:21
...
PHP MySQL 用php写了一段代码,添加数据只能填加数字和英文,添加文字就会报错,求位高手帮我解决下着个问题。
下面是报错:
执行错误Incorrect string value: '\xE8\xB4\xB9\xE6\x98\xAF...' for column 'n_content' at row 1
以下是代码:
header("Content-Type:text/html;charset=utf-8");
if($_POST['submit']!=""){
$i=$_POST['id'];
$t=$_POST['title'];
$c=$_POST['content'];
$con=mysql_connect("localhost","root","root");
mysql_select_db("test",$con);
$sql="INSERT INTO news (n_id,n_title,n_content) VALUES (NULL,'$t','$c') ;";
echo $sql;
$rat=mysql_query($sql,$con ) or die('执行错误'.mysql_error()) ;
if($rat){
echo '插入成功';
}else{
echo '插入失败';
}
mysql_close($con );
}
mysql_close($con);
?>
Auto Height Examples
下面是报错:
执行错误Incorrect string value: '\xE8\xB4\xB9\xE6\x98\xAF...' for column 'n_content' at row 1
以下是代码:
header("Content-Type:text/html;charset=utf-8");
if($_POST['submit']!=""){
$i=$_POST['id'];
$t=$_POST['title'];
$c=$_POST['content'];
$con=mysql_connect("localhost","root","root");
mysql_select_db("test",$con);
$sql="INSERT INTO news (n_id,n_title,n_content) VALUES (NULL,'$t','$c') ;";
echo $sql;
$rat=mysql_query($sql,$con ) or die('执行错误'.mysql_error()) ;
if($rat){
echo '插入成功';
}else{
echo '插入失败';
}
mysql_close($con );
}
mysql_close($con);
?>
回复讨论(解决方案)
你数据库内定的编码是ASCII?
终于找到问题出在哪了
更改mysql中的配置 my.ini my.ini中查找sql-mode, 默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION", 将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可