请看这里;谢谢大家! 我正在尝试创建一个用于升级游戏中建筑物的系统。我将所有建筑物的升级分区设置为相同。当玩家点击构建(div)时,运行一个函数来显示一个隐藏的div,该div由ajax帖子填充,并包含升级成本。 div 的类“name”(与 db 中的建筑物名称相同)被发送到 php 以获取所需的数据。直到现在它都工作正常...我向按钮添加了一个单击事件,该按钮应该将 div“名称”发送到另一个 php,该 php 应该执行升级操作并在响应 ajax 字段中回显“正确”。但是当我单击 btn 时,它没有显示日志错误...错误:从 cost_cladiri WHEREbuilding = 'camp_1' 中选择 ress1,ress2 (我插入了 db 中的建筑物名称而不是变量(div 名称)来访问直接php,但是同样的错误... 这是我的 ajax 和 php
function getbuild(e) {
$.ajax({
type: 'post',
url: '../account-handeling/get_cost_upgrade.php',
data: {
building: e.className,
},
success: function (response){
$('#display_cost').html(response);
$("#increase").click(function(){
$.ajax({
type: 'post',
url: '../account-handeling/upgrade_handle.php',
data: {
building: e.className,
},
success: function (response){
$('#display_cost').html(response);
}
});
})
}
});
}
upgrade_handle.php
if(!isset($_SESSION))
{
session_start();
}
$dbserver = "localhost";
$dbusername = "root";
$dbpassword = "";
$db = "worlddomination";
$conn = mysqli_connect($dbserver,$dbusername,$dbpassword,$db);
if ($conn->connect_error)
{
die("No connection:".$conn->connect_error);
}
$username = $_SESSION['username'];
//$buildcost = $_POST['building'];
$sql = "SELECT ress1,ress2 FROM cost_cladiri WHERE building = 'camp_1'";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
$ress1 = $row['ress1'];
$ress2 = $row['ress2'];
if($conn->query($sql) === TRUE){
echo "$ress1";
}
else{
echo "Error: ".$sql."<br/>".$conn->error;
}
我做错了什么?谢谢!!!
最佳答案
对于 select
查询,Mysqli::query
方法将返回 mysqli_result 对象,因此它可能是 == true
它不会是 === true
.
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.
我会尝试检查它是否!== false
或instanceof mysqli_result
。
编辑:您还查询同一事物两次,一次是面向对象的,一次是过程性的。
关于javascript - 使用什么: sql==true vs sql===true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46135180/