userlist.php 代码 麻烦老师帮看一下运行的时候显示
<?php header('content-type:text/html;charset=utf-8'); $mysqli = new mysqli('127.0.0.1','root','YOUNI258','books'); if($mysqli->connect_errno){ die($mysqli->connect_error); } $mysqli->set_charset('utf8'); $sql="select * from user;"; $mysqli_result=$mysqli->query($sql); if($mysqli_result && $mysqli_result->num_rows>0){ while($row=$mysqli_result->fetch_assoc()){ $rows[]=$row; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <h2>用户列表-<a href="adduser.php">添加用户</a></h2> <body> <table border="1" cellpadding="0" cellspacing="0" bgcolor="aqua" width="80%"> <tr> <td>编号</td> <td>用户名</td> <td>年龄</td> <td>操作</td> </tr> <?php $i=1; foreach($rows as $row):?> <tr> <td><?php echo $i;?></td> <td><?php echo $row['username'];?></td> <td><?php echo $row['age'];?></td> <td><a href="update.php">更新</a>|<a href="deluser.php">删除</a></td> </tr> <?php $i++; endforeach;?> </table> </body> </html>
adduser.php这个文件的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <title>Document</title> </head> <body> <h2>添加用户</h2> <form action="action.php?act=adduser" method="post"> <table border="1" cellpadding="0" cellspacing="0" bgcolor="aquamarine" width="80%"> <tr> <td>用户名</td> <td><input type="text" name="username" id="username" required="required" placeholder="请输入合法用户名" /></td> </tr> <tr> <td>密码</td> <td><input type="password" name="password" id="password" required="required" placeholder="请输入密码" /></td> </tr> <tr> <td>年龄</td> <td><input type="number" name="age" id="age" required="required" placeholder="请输入合法年龄" /></td> </tr> <tr> <td colspan="2"><input type="submit" value="添加用户" /></td> </tr> </table> </form> </body> </html>
这个是action.php的代码
这是action.php运行时出现的错误,我的mysql密码是YOUNI258 帐号是root 数据库是books
这是我数据库的数据
mysql> select * from user;
+----+----------+----------+-----+
| id | username | password | age |
+----+----------+----------+-----+
| 1 | 第一个 | | 18 |
| 2 | 第二个 | | 19 |
| 3 | 第三个 | | 20 |
| 4 | 第四个 | | 21 |
| 5 | 第五个 | | 22 |
| 6 | 第六个 | | 23 |
| 7 | 第七个 | | 24 |
| 8 | 第八个 | | 25 |
| 9 | 第九个 | | 26 |
mysql> desc user;
+----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+----------------+
| id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
| username | varchar(20) | NO | | NULL | |
| password | varchar(20) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
+----------+---------------------+------+-----+---------+----------------++----+----------+----------+-----+
我知道错误在哪里了 mysql的权限设置模式 window系统的.my.ini找到此关键字
第一种:数据库设计时,为可能没有数据的字段设置默认值。
第二种:设置SQL的模式,此有两种方法:
(1),配置my.ini,去掉:STRICT_TRANS_TABLES
my.ini配置代码
# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION"
(2),运行SQL命令。注:此命令需要权限!
SQL代码
SET @@GLOBAL.sql_mode="NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION";
因为比较擅长用Phpmyadmin 所以直接运行了SQL的命令,问题解决。
然后把它修改成NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION 之后的都明白了。