数据库插入数据是问号
functionxq($sql){$db=mysqli_connect('localhost','root','','bbs');$charset='setnamesut...
function xq($sql){
$db = mysqli_connect('localhost','root','','bbs');
$charset = 'set names utf8';
mysqli_query($db,$charset);
$re = mysqli_query($db,$sql);
return $re;
include 'fun.php';
testget('select * from user');
$pwd = md5('nan');
$sql = "insert into user(name,pwd) values('小楠','$pwd')";
echo $sql;
testquery($sql);
testget('select * from user');
求解为什么小楠插入到数据库变成了问号。明明设置字符集了。还有改完信息之后刷新没有效果,必须关闭浏览器重新打开才能再向数据库输入 展开
$db = mysqli_connect('localhost','root','','bbs');
$charset = 'set names utf8';
mysqli_query($db,$charset);
$re = mysqli_query($db,$sql);
return $re;
include 'fun.php';
testget('select * from user');
$pwd = md5('nan');
$sql = "insert into user(name,pwd) values('小楠','$pwd')";
echo $sql;
testquery($sql);
testget('select * from user');
求解为什么小楠插入到数据库变成了问号。明明设置字符集了。还有改完信息之后刷新没有效果,必须关闭浏览器重新打开才能再向数据库输入 展开
1个回答
展开全部
检查并修改mysql的my.ini的配置文件
default-character-set=utf8
建立数据库是要指定字符集
create database mydb default character set utf8 collate utf8_general_ci
建立数据表示也要指定字符集:
出问题的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
正确的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
default-character-set=utf8
建立数据库是要指定字符集
create database mydb default character set utf8 collate utf8_general_ci
建立数据表示也要指定字符集:
出问题的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
正确的命令:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
追问
这次变成空字符串了。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询