直接为空都不行)。
修改my.ini,将
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_...
改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
重新启动MySQL。谢谢采纳
请注意这样写
INSERT INTO `news` (`id`, `title`, `dates`, `contents`) VALUES (NULL, '1231', now(), '15236')表名 news 不是用 '(单引号) 是用 `
另外.
$sql="insert into `news` ('id','title','dates','contents') values(null,'$title',now(),'$con')"if (! $sql) echo "执行SQl $sql 错误:".mysql_error()
mysql_query($sql)
这里写的不对, 这也正是你不报错的原因.
$sql你以经赋值了,不可能不存在. 所以永远你也看不见 "执行SQl $sql 错误" 这句报错.
应该改成
$sql="insert into `news` ('id','title','dates','contents') values(null,'$title',now(),'$con')"if (mysql_query($sql,$con))
{
echo "成功"
}
else
{
echo "执行SQl $sql 错误:".mysql_error()
}
用户名密码不对。如果你是在本地测试,有数据库管理权限,可以查看下有没有 bookhbw这个用户
select * from mysql.user
如果没有可以新建用户,或者在代码里直接使用root账户及密码连接(测试环境无所谓,如果是正式环境,一定要单独建一个用户,分配对应数据库的权限 )
-- 创建用户
create user bookhbw@'localhost' identified by '密码'
-- 授权用户指定的数据库权限
GRANT ALL PRIVILEGES ON 数据库名.* TO 'bookhbw'@'localhost'
-- 刷新权限
FLUSH PRIVILEGES
如果你的数据库中已经有这个账户,看下这个账户设置的Host 是localhost还是ip 还是 %
如果是ip 或者 % 则连接的服务器地址只能写ip 不能写localhost (可以新建一个同名用户绑定localhost)
以上情况,你根据自己的软件 配置,自行设置一下
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)