gpt4 book ai didi

php - MySql:使用 PHP 在 auto_increment 字段中插入值

转载 作者:行者123 更新时间:2023-12-01 00:37:32 25 4
gpt4 key购买 nike

我实际上想做的是插入一行:

INSERT INTO users VALUES (col1, col2, ...)

其中 col1 是一个 auto_increment。

PHP代码是:

<?php 
$host = "http://name.altervista.org/";
$user = "name";
$psw = "";
$db = "my_name";

$response = array();
$response["success"] = true;

$connessione = new mysqli($host, $user, $psw, $db);

if($connessione->connect_errno == 0)
{
$nome = $_POST["nome"];
$cognome = $_POST["cognome"];
$username = $_POST["username"];
$password = $_POST["password"];
$nTelefono = $_POST["nTelefono"];
$email = $_POST["email"];

$sql = "INSERT INTO users
VALUES (DEFAULT, '$nome', '$cognome', '$username', '$password', '$nTelefono', '$email')";
$ris = $connessione->query($sql);

if($connessione->affected_rows == 1)
{
echo(json_encode($response));
}
else
{
$response["success"] = false;
echo(json_encode($response));
}
}
else
{
$response["success"] = false;
echo(json_encode($response));
}
?>

我在 stackoverflow 中搜索类似的问题,我尝试使用 DEFAULT 或 NULL,但它不起作用。如果我输入一个数字而不是表格中尚不存在的默认值,它就可以工作,所以我真的不明白问题出在哪里。

您还有其他建议吗?

编辑:数据库表结构: click

编辑 2:我尝试删除表并重新创建它,现在它可以与 NULL 一起使用。感谢您的支持!

最佳答案

当您执行插入 时,列出所有要插入的列。你似乎想要:

INSERT INTO users (nome, cognome, username, password, nTelefono, email)
VALUES ('$nome', '$cognome', '$username', '$password', '$nTelefono', '$email');

下一步。 永远不要在数据库中存储明文密码。您应该在客户端 对值进行加密,这样这些值就永远不会通过网络传递。

下一步。学习使用参数化查询。当您使用参数值修改查询字符串时,您会要求出现莫名其妙的语法错误并使代码容易受到 SQL 注入(inject)攻击。

关于php - MySql:使用 PHP 在 auto_increment 字段中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44652443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com