这是一个正确的PHP更新方式吗?

时间:2017-11-16 08:25:07

标签: php conditional-statements

这里有更新的核心。这是一种正确的方法吗? 我尝试通过网络上的教程来做准备语句,但效果不佳。

$Enrolsql = "Select * FROM Enrol WHERE ActivityID=$activityid AND UserPhone=$userPhone AND UseUp=1";

$Enrolresult = $conn->query($Enrolsql);
if ($Enrolresult->num_rows > 0) {

    $ssql = "UPDATE Enrol SET UseUp=0 WHERE ActivityID=$activityid";
    if (mysqli_query($conn, $ssql)) {
        echo "+1+"; //successfully Used.
    } else {
        echo "+2+"; // System Error.
    }
} else {
    echo "+0+"; // Coupon is not Vaild
}

$conn->close();

数据库表信息:

enter image description here

3 个答案:

答案 0 :(得分:0)

根据http://php.net/manual/en/mysqli.query.php

mysqli_query失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。

鉴于您正在运行UPDATE,并假设更新没有失败(只是没有效果),您将返回TRUE因此您正在打印+1+

答案 1 :(得分:0)

您可以在此处进行多项检查:

检查是否有错误:

if (!mysql_error()) print 'Query executed successfully.';

检查受影响的行:

if(mysql_affected_rows() || mysql_affected_rows() == 0){
    // no error
} else {
    // error
}

答案 2 :(得分:0)

我在这篇文章中给你一个很长的教程。在本文中,我将讨论使用PHP中的HTML实现更新查询。让我们开始吧。



<?php
require_once 'dbconnection.php';
if(isset($_REQUEST['submit'])){
 $name = $_REQUEST['name'];
 $age = $_REQUEST['age'];
 $phone = $_REQUEST['phone'];
 $email = $_REQUEST['email'];
 $user_id=$_REQUEST['user_id'];
 $qry = mysqli_query($con,"UPDATE `user` SET `name`='".$name."', `email`='".$email."',`age`='".$age."',`phone`='".$phone."' WHERE `u_id`='".$user_id."'");
 if(!$qry){
 echo "Faild to insert data in database";
 }
 else{
 $_SESSION['success'] = "Data updated Successfully";
 echo "<script>window.location.href='update.php?u_id='".$user_id."'</script>";
 }
}
?>
&#13;
&#13;
&#13;