【发布时间】:2014-08-29 23:53:41
【问题描述】:
所以我试图让它检查在插入之前是否已经准备好 steamid64,但它只是以任何方式插入? 我这里的 PHP 不太好。
<?php
$con=mysqli_connect("localhost","user","pass","Gmod");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$SteamID64 = mysqli_real_escape_string($con, $_POST['SteamID64']);
$enable = mysqli_real_escape_string($con, $_POST['enable']);
$sql="SELECT * FROM Loading (SteamID64, enable) WHERE SteamID64='$SteamID64'";
if(mysql_num_rows($sql)>=1) {
echo'<center>The music is already disabled!</center>';
}
else {
$sql="INSERT INTO Loading (SteamID64, enable)
VALUES ('$SteamID64', '$enable')";
}
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "<center>The music will not play when you connect.</center>";
mysqli_close($con);
?>
我从一些论坛和 w3schools.com 上得到了这个 并对其进行了编辑。
好的,我这样做了,但它仍然只是插入数据?
<?php
mysqli_report(MYSQLI_REPORT_STRICT);
$con=mysqli_connect("localhost","root","server","Gmod");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$SteamID64 = mysqli_real_escape_string($con, $_POST['SteamID64']);
$enable = mysqli_real_escape_string($con, $_POST['enable']);
mysqli_query($con,"SELECT * FROM Loading WHERE SteamID64='$SteamID64'");
if(mysqli_num_rows(mysqli_query)>=1) {
echo'<center>The music is already disabled!</center>';
}
else {
mysqli_query($con,"INSERT INTO Loading (SteamID64, enable)
VALUES ('$SteamID64', '$enable')");
}
echo "<center>The music will not play when you connect.</center>";
mysqli_close($con);
?>
【问题讨论】:
-
请注意,请不要使用
mysql_*函数,它们已被弃用。您可以使用mysqli_*函数(过程或OOP 风格)或PDO(抽象层)。 -
这对我没有帮助。
-
不要将
mysqli_*与mysql_*函数混用。 -
所以我只需要将 i 添加到 mysql_* 的末尾,就像 mysqli_* 一样?
-
并非所有函数的名称都相同,但在这种情况下,您应该使用
mysqli_num_rows并传递查询资源(您可以从mysqi_query代码)作为第一个参数。