日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

php – 從mysql切換到mysqli后,Ajax的更新語(yǔ)句不能正常工作,但沒(méi)有錯(cuò)誤顯示

 印度阿三17 2019-06-23

參見(jiàn)英文答案 > When to use single quotes, double quotes, and back ticks in MySQL????????????????????????????????????12個(gè)
我有一個(gè)代碼,與mysql工作正常,但已切換到mysqli它不再運(yùn)行.數(shù)據(jù)在選擇按鈕的表格中正確顯示,它看起來(lái)像我得到保存gif(因?yàn)檎谡{(diào)用Ajax),但是更新語(yǔ)句不會(huì)更新數(shù)據(jù)庫(kù).

似乎沒(méi)有工作的部分是saveedit.php:

<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$column=$_POST['column'];
$value=$_POST['value'];
$id=$_POST['id'];
$sql = "UPDATE php_interview_questions SET `$column` = '$value' WHERE id=$id)";
$result = mysqli_query ($conn, $sql) or die(mysqli_error ($dbc));
?>

主頁(yè)是

<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$sql = "SELECT * from php_interview_questions";
$faq = $db_handle->runQuery($sql);
?>
<html>
    <head>
      <title>PHP MySQL Inline Editing using jQuery Ajax</title>

        <script src="http://code./jquery-1.10.2.js"></script>
        <script>
        function showEdit(editableObj) {
            $(editableObj).css("background","#FFF");
        } 

        function saveToDatabase(editableObj,column,id) {
            $(editableObj).css("background","#FFF url(loaderIcon.gif) no-repeat right");
            $.ajax({
                url: "saveedit.php",
                type: "POST",
                data:'column=' column '&editval=' editableObj.innerHTML '&id=' id,
                success: function(data){
                    $(editableObj).css("background","#FDFDFD");
                }        
           });
        }
        </script>
    </head>
    <body>      
       <table class="tbl-qa">
          <thead>
              <tr>
                <th class="table-header" width="10%">Q.No.</th>
                <th class="table-header">Question</th>
                <th class="table-header">Answer</th>
              </tr>
          </thead>
          <tbody>
          <?php
          foreach($faq as $k=>$v) {
          ?>
              <tr class="table-row">
                <td><?php echo $k 1; ?></td>
                <td contenteditable="true" onBlur="saveToDatabase(this,'question','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["question"]; ?></td>
                <td contenteditable="true" onBlur="saveToDatabase(this,'answer','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["answer"]; ?></td>
              </tr>
        <?php
        }
        ?>
          </tbody>
        </table>
    </body>
</html>

使用db_controller.php連接到數(shù)據(jù)庫(kù)并處理結(jié)果集創(chuàng)建(數(shù)據(jù)庫(kù)連接詳細(xì)信息位于此處未發(fā)布的文件中):

function __construct() {
        $conn = $this->connectDB();
        if(!empty($conn)) {
            $this->selectDB($conn);
        }
    }

    function connectDB() {
        $conn = mysqli_connect($this->host,$this->user,$this->password);
        return $conn;
    }

    function selectDB($conn) {
        mysqli_select_db($conn, $this->database);
    }

    function runQuery($query) {
        $conn = mysqli_connect($this->host,$this->user,$this->password);
        mysqli_select_db($conn, $this->database);
        $result = mysqli_query($conn, $query)or die(mysqli_error($conn));
        while($row=mysqli_fetch_assoc($result)) {
            $resultset[] = $row;
        }       
        if(!empty($resultset))
            return $resultset;
    }

    function numRows($query) {
        $result  = mysqli_query($conn, $query);
        $rowcount = mysqli_num_rows($result);
        return $rowcount;   
    }
}
?>

我現(xiàn)在已經(jīng)將dbcontroller更改為以下內(nèi)容以簡(jiǎn)化并嘗試拋出錯(cuò)誤但仍然沒(méi)有得到任何結(jié)果

<?php
class DBController {
    private $host = "***********";
    private $user = "***********";
    private $password = "**********";
    private $database = "************";



    function __construct() {
        $conn = mysqli_connect($this->host,$this->user,$this->password,$this->database) OR die (mysqli_connect_error());
    }

    function runQuery($query) {
        $conn = mysqli_connect($this->host,$this->user,$this->password);
        mysqli_select_db($conn, $this->database);
        $result = mysqli_query($conn, $query)or die(mysqli_error($conn));
        while($row=mysqli_fetch_assoc($result)) {
            $resultset[] = $row;
        }       
        if(!empty($resultset))
            return $resultset;
    }

    function numRows($query) {
        $result  = mysqli_query($conn, $query);
        $rowcount = mysqli_num_rows($result);
        return $rowcount;   
    }
}
?

&GT

解決方法:

刪除列周圍的單個(gè)qoutes名稱:

$sql = "UPDATE php_interview_questions SET $column = '$value' WHERE id=$id)";

或者,如果列中有特殊字符,請(qǐng)使用反引號(hào)來(lái)逃避它們.

$sql = "UPDATE php_interview_questions SET `$column` = '$value' WHERE id=$id)";

如果id是一個(gè)數(shù)值,你也不需要單個(gè)qoutes.

來(lái)源:https://www./content-2-262651.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多