用mysqli改造后,发布商品写入数据失败?
来源:2-3 商品发布之数据入库
von_colonel
2018-08-02 10:19:53
<?php include_once './lib/fun.php'; if(!checkLogin()) { msg(2, '请登录', 'login.php'); } $user = $_SESSION['user']; //表单进行了提交处理 if(!empty($_POST['name'])) { $con = mysqlInit('127.0.0.1', 'root', '123456', 'imooc_mall'); //画品名称 $name = mysqli_real_escape_string($con,trim($_POST['name'])); //画品价格 $price = intval($_POST['price']); //画品简介 $des = mysqli_real_escape_string($con,trim($_POST['des'])); //画品详情 $content = mysqli_real_escape_string($con,trim($_POST['content'])); $nameLength = mb_strlen($name, 'utf-8'); if($nameLength <= 0 || $nameLength > 30) { msg(2, '画品名应在1-30字符之内'); } if($price <= 0 || $price > 999999999) { msg(2, '画品名称应小于999999999'); } $desLength = mb_strlen($des, 'utf-8'); if($desLength <= 0 || $desLength > 100) { msg(2, '画品简介应在1-100字符之内'); } if(empty($content)) { msg(2, '画品详情不能为空'); } $userId = $user; $now = $_SERVER['REQUEST_TIME']; $pic = imgUpload($_FILES['file']); // 参数打印都可以成功! echo $name,'<br/>'; echo $price,'<br/>'; echo $des,'<br/>'; echo $content,'<br/>'; echo $pic,'<br/>'; echo $userId,'<br/>'; echo $now,'<br/>'; //入库处理 $sql = "INSERT `im_goods`(`name`,`price`,`des`,`content`,`pic`,`user_id`,`create_time`,`update_time`,`view`) VALUES ('{$name}','{$price}','{$des}','{$content}','{$pic}','{$userId}','{$now}','{$now}',0)"; if($obj = mysqli_query($con,$sql)) { msg(1,'操作成功','index.php'); echo "成功!"; } else { echo "失败!"; echo mysql_errno(); exit; } } ?>
页面没有报错信息,一片空白!
1回答
imooc_澈
2018-08-02
你好,使用var_dump初步打印看看,先打印post数据,看数据是否传过去,再在if判断里测试一下程序是否走进了if判断里,一点点测试。
将sql语句echo出来,直接放到你的数据库管理软件运行一下看看,检测sql语句的拼接是否有问题
另外检查你的php配置文件,将报错信息打开,php.ini,修改如下:
display_errors = On
error_reporting = E_ALL | E_STRICT
这样如果代码确实报错了,那错误提示就会显示在窗口中。
如果问题依然找不到,请连同html页面以及你的数据库提交,祝学习愉快~
相似问题