首页 > 代码库 > PHP数据访问易错点(20161030)
PHP数据访问易错点(20161030)
易错点:
1.造对象的时候括号里面的参数 写错了
$db = new MySQLi("localhost","root","789","1016");
2.牵扯到传值的,前面的名字和后面的名字不匹配
<form action="1028afternoonaddchuli.php" method="post">
<div>代号:<input type="text" name="code"/></div>
<div>姓名:<input type="text" name="name"/></div>
$code = $_POST["code"];
$name = $_POST["name"];
3.传过来的值返回的数组和sql语句写的不一样
$code = $_POST["code"];
$name = $_POST["name"];
$sql = "insert into info values(‘{$code}‘,‘{$name}‘,
{$sex},‘{$nation}‘,‘{$birthday}‘)";
4.sql语句拼接的时候出错,少了单引号、双引号、括号(花括号可以不写,但为了防止出错还是写上),添加的时候列数不匹配
5.只要sql语句没问题,执行就没问题。如果执行对了没有查出数据,有可能是漏掉了中间的 结果集对象
输出调错误(先停止跳转,然后输出sql语句查看)
如果页面跳转不了,处理页面又无法直接用浏览器查看,就在处理页面上先把跳转语句注释了,然后输出sql语句页面就不会跳转,就会输出sql语句,查看写的语句是否正确(值,标点符号是否正确,是否漏了空格或者标点符号)
$sql = "insert into info values(‘{$code}‘,‘{$name}‘,
{$sex},‘{$nation}‘,‘{$birthday}‘)";
echo $sql;
//header("location:1028afternoonmain.php");
如果输出的sql语句有的为空,说明空的地方的变量有问题,
update info set
name=‘‘,sex=1,nation=‘n001‘,birthday=‘0000-00-00
00:00:00‘ where code=‘‘
此时就在取变量的地方输出空的变量,如果没有值或者提示undefind就说明取变量的地方有问题,这个时候就要查看取值 前后的名字是不是一样,取值方式是不是一样
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];
echo $birthday;
PHP数据访问易错点(20161030)