PHP数据访问易错点(20161030)

时间:2023-12-21 21:31:26

易错点:

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;