gpt4 book ai didi

php - 为什么不插入数据库?

转载 作者:行者123 更新时间:2023-11-29 12:35:30 25 4
gpt4 key购买 nike

<?php
if(!isset($_GET['nick']))
{
echo '<form action="ban.php" method="get">
<input placeholder="Username" type="text" name="nick"/>
<input placeholder="Reason" type="text" name="reason"/>
<input type="submit" value"Ban!"/>';
} else
{
$nick = mysql_real_escape_string($_GET['nick']);
$reason = mysql_real_escape_string($_GET['reason']);

$query = mysql_query("SELECT Name FROM users WHERE Name='".$nick."'");
if (mysql_num_rows($query) != 0)
{
while($rows = mysql_fetch_assoc($query))
{
$IP = $rows['IP'];
}
}
else
{
echo "No user found!";
}
$today = date("d/m/y");
$sql = "INSERT INTO bans (`Name`, `IP`, `BReason`, `BAdmin`, `BDate`) VALUES ('$nick', '$IP', '$reason', '$name', '$today')";
if ($connect->query($sql) === TRUE)
{
echo "May his account rest in peace.";
}
else
{
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>

由于某种原因,它没有插入数据库。它没有显示任何消息。我尝试了很多,但似乎找不到解决办法。

请帮忙?谢谢。

最佳答案

您有几个问题,首先,真的,真的用 MySQLi 替换所有 MySQL,并阅读一些有关如何编辑 SQL 使其成为 MySQLi 的内容 - 不需要太多时间或精力就可以使 MySQL 变得更好。

至于代码:

$query = mysql_query("SELECT Name FROM users WHERE Name='".$nick."'");
if (mysql_num_rows($query) != 0)
{
while($rows = mysql_fetch_assoc($query))
{
$IP = $rows['IP'];
}
}

您正在运行 $query,以返回 Name = '"$nick"' 的所有 Name 值。

这可能不是问题,但我认为将字符串直接包含到 MySQL 中效果更好 -

Name = '$nick' 

但是您仅通过搜索名称返回名称,因此 $Query 的输出将仅为 $rows['Name'] = $nick。如果您想要 IP 将查询设置为:

$Query = mysql_query("SELECT IP FROM users WHERE Name='$nick' "); 

这样就会在$row中返回键值对$row['IP'] = 您想要的 IP 值。

$connet->query() 可能很好用,但它看起来与上面的 MySql 代码不同,并且可能不适用于旧的 MysqL(而不是 MySQLi)。所以尝试一下:

if(mysql_query("INSERT INTO bans (`Name`, `IP`, `BReason`, `BAdmin`, `BDate`) VALUES  ('$nick', '$IP', '$reason', '$name', '$today')")){
print "Inserted ok!";
}
else {
print mysql_error(); <== this will output any error if the previous query fails.
}

尝试上述操作,看看您会发现什么。

编辑: http://www.pontikis.net/blog/how-to-use-php-improved-mysqli-extension-and-why-you-should为您提供有关如何将 MySQL 转变为 MySQLi 的不错指南。另请检查您运行的 PHP 版本,因为 MySQL 已弃用并且无法与更新的 PHP 一起使用。另请检查您的 PHP 错误日志文件以获取背景信息,了解为什么您没有得到预期的响应。

关于php - 为什么不插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26841320/

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