免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
php – 從mysql切換到mysqli后,Ajax的更新語句不能正常工作,但沒有錯誤顯示

參見英文答案 > When to use single quotes, double quotes, and back ticks in MySQL????????????????????????????????????12個
我有一個代碼,與mysql工作正常,但已切換到mysqli它不再運行.數據在選擇按鈕的表格中正確顯示,它看起來像我得到保存gif(因為正在調用Ajax),但是更新語句不會更新數據庫.

似乎沒有工作的部分是saveedit.php:

<?phprequire_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));?>

主頁是

<?phprequire_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.com/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連接到數據庫并處理結果集創(chuàng)建(數據庫連接詳細信息位于此處未發(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)在已經將dbcontroller更改為以下內容以簡化并嘗試拋出錯誤但仍然沒有得到任何結果

<?phpclass 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

解決方法:

刪除列周圍的單個qoutes名稱:

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

或者,如果列中有特殊字符,請使用反引號來逃避它們.

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

如果id是一個數值,你也不需要單個qoutes.

來源:https://www.icode9.com/content-2-262651.html
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
php分頁代碼簡單實現(xiàn)
php并發(fā)控制 , 樂觀鎖
PHP+MySQL打造XXX管理系統(tǒng)
PHP中如何連接數據庫
Fatal error: Uncaught Error: Call to undefined function mysql
php 接口與前端數據交互實現(xiàn)示例代碼
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服