安照2-6和2-7课上讲的代码完全写了一遍还是出问题,不知如何是好所以才麻烦老师费点心了

来源:2-7 用户管理之添加用户

我们是兄弟

2016-06-21 16:46

userlist.php 代码   麻烦老师帮看一下运行的时候显示http://img.mukewang.com/5768fb4e0001483612790229.jpg

<?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    |                |
+----------+---------------------+------+-----+---------+----------------++----+----------+----------+-----+


写回答 关注

1回答

  • 我们是兄弟
    2016-06-21 17:41:53

    我知道错误在哪里了   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  之后的都明白了。

Duang~MySQLi扩展库来袭

本教程从面向对象和面向过程两个方面为你开启MySQLi学习之旅

28643 学习 · 181 问题

查看课程

相似问题