第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么我會(huì)收到此錯(cuò)誤,警告:mysqli_stmt::bind_param():

為什么我會(huì)收到此錯(cuò)誤,警告:mysqli_stmt::bind_param():

PHP
LEATH 2022-10-14 14:49:08
我創(chuàng)建了一個(gè)查詢類來處理我所有的基本 sql 函數(shù),在類中我有一個(gè)基本函數(shù),它使用準(zhǔn)備好的語句插入數(shù)據(jù),即“插入”函數(shù),我不太清楚為什么,但我一直收到同樣的錯(cuò)誤(列出以上)每次我調(diào)用該函數(shù)時(shí)class Query{    private $conn;    private $table;    public function __construct($conn, $table)    {        $this->conn = $conn;        $this->table = $table;    }     public function Insert($fields, $placeholders, $binders, $values)     {        $field_val= implode(', ', $fields);        $ph=implode(', ', $placeholders);        array_walk($values, function(&$x) {$x = "'$x'";});        $val = implode(',  ', $values);        $query = 'INSERT INTO '.$this->table.' ('.$field_val.') VALUES('.$ph.')';        $stmt = $this->conn->prepare($query);        $stmt->bind_param(''.$binders.'', $val);        $stmt->execute();      }}這是用于將數(shù)據(jù)插入注釋表的函數(shù)的示例,連接來自模塊中包含的單獨(dú)數(shù)據(jù)庫文件    $database = new Database();    $conn = $database->connect();    //values    $comment_date = mysqli_real_escape_string($conn, htmlspecialchars($_POST['date-comment']));    $commenter = mysqli_real_escape_string($conn, htmlspecialchars($_POST['comment_name_of']));    $comment = mysqli_real_escape_string($conn, htmlspecialchars($_POST['comment']));    $comments_save = new Query($conn, 'nw_comments');    $fields = array('commenter_name', 'comment_value', 'date_commented');    $placeholders = array('?', '?', '?');    $binders = "sss";    $values = array($commenter, $comment, $comment_date);    $comments_save->Insert($fields,$placeholders,$binders,$values);
查看完整描述

1 回答

?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

看起來代碼正在將字符串標(biāo)量傳遞給bind_param. 我想我們要傳遞數(shù)組的元素。

我們可以這樣做:

$stmt->bind_param(''.$binders.'', $values);

正如 Bill Karwin 正確指出的那樣,傳遞整個(gè)數(shù)組(如上一行)是行不通的,它與傳遞單個(gè)引用的原始數(shù)組存在相同的問題。語法應(yīng)該導(dǎo)致該...數(shù)組被解包,每個(gè)單獨(dú)的元素通過引用傳遞,元素?cái)?shù)量可變。)

像這樣的東西:

$stmt->bind_param(''.$binders.'', ...$values);

對于通過綁定參數(shù)傳遞值,我們不需要將值括在單引號中。不需要這些行:

 array_walk($values, function(&$x) {$x = "'$x'";});
  $val = implode(',  ', $values);


查看完整回答
反對 回復(fù) 2022-10-14
  • 1 回答
  • 0 關(guān)注
  • 196 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號