Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP/MySql脚本创建和更新用户表_Php_Mysql - Fatal编程技术网

使用PHP/MySql脚本创建和更新用户表

使用PHP/MySql脚本创建和更新用户表,php,mysql,Php,Mysql,我正在读一本关于PHP、MYSQL、JAVASCRIPT和JQUERY的书。阅读时,我会输入代码,看看它是如何工作的。我有以下脚本,我运行该脚本创建了一个名为“users”的表,然后用两个用户更新该表。当我在浏览器中运行该脚本时,它只创建了新表,但没有用新用户更新该表。我没有收到任何错误。下面是整个脚本 <?php // setup_users.php require_once 'login.php'; $connection = new mysqli($hn, $un, $pw,

我正在读一本关于PHP、MYSQL、JAVASCRIPT和JQUERY的书。阅读时,我会输入代码,看看它是如何工作的。我有以下脚本,我运行该脚本创建了一个名为“users”的表,然后用两个用户更新该表。当我在浏览器中运行该脚本时,它只创建了新表,但没有用新用户更新该表。我没有收到任何错误。下面是整个脚本

<?php // setup_users.php 

require_once 'login.php';

$connection = new mysqli($hn, $un, $pw, $db);
if ($connection->connect_error) die($connection->connect_error);

$query = "CREATE TABLE users (

    forename VARCHAR(32) NOT NULL,
    surname  VARCHAR(32) NOT NULL,
    username VARCHAR(32) NOT NULL UNIQUE,
    password VARCHAR(32) NOT NULL
    )";

$result = $connection->query($query);

if (!$result) die($connection->error);

$salt1 = "qm&g";
$salt2 = "ph!@";

$forename = 'Baban';
$surname = 'Sadik';
$username = 'bsadik';
$password = 'babansadik1';
$token = hash('ripemd128', "$salt1$password$salt2");

add_user($connection, $forename, $surname, $username, $token);

$forename = 'Abdullah';
$surname = 'Abubakar';
$username = 'aabubakar';
$password = 'abakar1';
$token = hash('ripemd128', "$salt1$password$salt2");

add_user($connection, $forename, $surname, $username, $token);

function add_user($connection, $fn, $sn, $un, $pw) {

    $query = "INSERT INTO users VALUES('$forename', '$surname', '$username', '$token')";
    $result = $connection->query($query);
    if (!$result) die($connection->error);

}

?>

您的
添加用户
函数的参数与您试图在查询本身中使用的参数不同

将查询更改为以下内容:

INSERT INTO users VALUES('$fn', '$sn', '$un', '$pw')

请注意,您应该改为使用,因为当前代码容易受到SQL注入攻击。如果您正在使用的书中不包含有关使用准备语句的信息,请废弃该书并找到一本包含这些信息的书。

您刚刚错过了在add_user函数的插入查询中输入列名,您正在传递未定义的va流氓 你喜欢这样吗

$query = "INSERT INTO users(forename, surname, username, password)
        VALUES('$fn', '$sn', '$un', '$pw')";

“哪里出错了?”——如果不启用正确的PHP错误报告,PHP会告诉您这些变量不存在于函数范围内——如果您允许的话。所以现在请您先去做这件事。我插入了相同的代码,但表仍然没有更新。我不断收到消息:“表‘用户’已经存在。”“每当我再次运行脚本时。表仍然是空的。我按照建议更改了它,但表仍然没有更新。@shallowGeek根据您对另一个答案的评论,请确保在运行脚本之前删除
用户
表again@shallowGeek没问题,如果答案有帮助,请考虑将它标记为“点击标记”:“@为什么你接受我的答案,然后把它改为另一个答案?”