当用户尝试注册时,我正在检查第一个表设备,如果有可用的device_id我想提供给用户trial = 0,如果没有任何device_id,我想在该表中插入device_id并希望用户试用= 1,但是目前总是设置trial = 1并在表设备中插入device_id。
我当前的代码如下
$serial = $POST["serial"];
$fcm = $POST["fcm"];
$trial = 0;
$trial_sql = "SELECT FROM device WHERE device_id = $serial";
$trial_result = mysqli_query($conn, $trial_sql);
if (mysqli_num_rows($trial_result) == 0) {
$device_sql = "INSERT INTO device(device_id) VALUES('$serial')";
if($conn->query($device_sql)){
$trial = 1;
}
}
$sql = "INSERT INTO user(name, email, password, device_id, trial, fcm) VALUES('$name', '$email', '$password', '$serial', $trial, '$fcm')";
if($conn->query($sql)) {
$response["code"] = 1;
}
return json_encode($response);
让我知道是否有人可以纠正我的错误。
谢谢
最佳答案
你们都需要指定一列来选择以及在device_id周围加上引号...
$trial_sql = "SELECT * FROM device WHERE device_id = '$serial'";
如果您使用准备好的语句,引号将不是问题。
关于php - MySQLi条件无法正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49799089/