gpt4 book ai didi

php - MySQL 查询在 PHP 中静默失败

转载 作者:行者123 更新时间:2023-11-30 23:03:32 26 4
gpt4 key购买 nike

这是我为网站编写的 PHP 代码。当我执行这个时,查询没有执行,也没有显示任何错误。我还检查了要插入的值的数据类型。数据库用户名和密码以及所有凭据都是正确的。可能是什么问题呢?

   <?php 
$password ='abcdef';



$host="localhost"; // Host name
$username="futureti_dsatya"; // Mysql username
$password="D2e3e4v1i"; // Mysql password
$db_name="futureti_db"; // Database name
$tbl_name="users"; // Table name

// Connect to server and select databse.
$con = mysqli_connect($host, $username, $password,$db_name);
if(!$con)
{
die('Could not connect: '. mysql_error());
}

else
{
$res = mysqli_query($con,"insert into users values(55555623,'saran1','satya_saran',$password)");


if($res){
print("i am ok");
}
else{
print("bad");
}
}

?>

最佳答案

$pass 括在引号 (55555623,'saran1','satya_saran','$pass') 中,如下所示,并附有关于“$ 的解释password", 并将 mysql_error()); 更改为 mysqli_error()); 这两个函数不会混合,这就是为什么你没有得到显示正确的错误消息。

如前所述,您使用了两次 $password;将其中一个变量更改为其他变量。

您目前正在做的是覆盖您的 $password 变量。

我假设您想将 abcdef 输入到您的数据库中。如果是,则改为执行此操作:

<?php 
$pass ='abcdef';
$host = "localhost"; // Host name
$username = "futureti_dsatya"; // Mysql username
$password = "D2e3e4v1i"; // Mysql password
$db_name = "futureti_db"; // Database name
$tbl_name = "users"; // Table name

// Connect to server and select databse.
$con = mysqli_connect($host, $username, $password,$db_name);

if ( !$con ) {
die('Could not connect: '. mysqli_error());

} else {

$res = mysqli_query($con, "insert into users values (55555623,'saran1','satya_saran','$pass' )");
if( $res ) {
print("i am ok");
} else {
print("bad");
}
}
?>

此外,不建议将数据插入表中而不告诉它要使用哪些列。

使用一些东西达到以下效果:

($con, "insert into users (column1, column2, column3, column4) values (55555623,'saran1','satya_saran','$pass' )

旁注:如果您的第一个值的列不是 (int),您还需要将其用引号引起来。

此外,如果您的第一列是 AUTO_INCREMENT,您需要从该列的类型中删除 AUTO_INCREMENT

关于php - MySQL 查询在 PHP 中静默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841987/

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