如何在php中添加多条件来准备语句?

时间:2018-04-25 09:13:07

标签: php mysqli conditional prepared-statement

我需要建议,对不起,如果我问的话太多了。 我很困惑添加条件来准备我们在MySQL中做的语句。

示例:当用户想要在我的网站上编辑自己的文章时,MySQL中的查询就像这样。 检查用户

$sql = "select * from articles where article_id= $id AND userID = $_SESSION['id'] "; 

$sql = "select * from articles where article_id= $id AND userID = $uid";

在MYSQLI面向对象中仍然相同。

但准备声明令我困惑

我正在为更新页面做的表单示例: 链接到更新页面:

更新文章

if(isset($_POST["article_ID"]) && !empty($_POST["article_ID"]) && isset($_POST["uid"]) && !empty($_POST["uid"])){

//获取隐藏的输入值

$id = $_POST["id"];

//验证此处的帖子

if(empty($name_err)){
$conn = new mysqli($servername, $username, $password);
$sql = "UPDATE articles SET name=? WHERE article_id=? AND  uid=?";
if($stmt = $conn->prepare($sql)){
        $stmt->bind_param("isi", $article_id, $name, $uid);

        // Set parameters
        $name = $name;
        $uid = $uid;
        $article_id = $article_id;
        if($stmt->execute()){

//回应值或错误     } 然后在这里选择部分

if(isset($_GET["article_ID"]) && !empty(trim($_GET["article_ID"])) && isset($_GET["uid"]) && !empty(trim($_GET["uid"]))){
    // Get URL parameter
    $article_ID =  trim($_GET["article_ID"]);
    $uid =  trim($_GET["uid"]);

$sql = "SELECT * FROM articles WHERE article_ID = ? AND  uid = ?";
if($stmt = $conn->prepare($sql)){
    $stmt->bind_param("ii", $article_ID, $uid);
    $article_ID = $article_ID;
    $uid = $uid;
    if($stmt->execute()){
        $result = $stmt->get_result();

        if($result->num_rows == 1){
           $row = $result->fetch_array(MYSQLI_ASSOC);

            // Retrieve individual field value
            $name = $row["name"];

我是在做正确的方式还是应该如何查询以及应该如何添加条件?

Html部分:

<form>
<input type="text" name="post">
</form>

0 个答案:

没有答案