prepare statement

ساخت وبلاگ
در پروژه ی ablog برای ساخت کوئری insert با متد Prepared statements
به روش
INSERT INTO `categories` ( title, urlkey, active ) VALUES ( ?, ?, ? )
این ارور رو میده
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
وقتی هم از
INSERT INTO `categories` ( title, urlkey, active ) VALUES (:title, :urlkey, :active)
استفاده می کنم همه مقادیر جدول رو با 1 پر میکنه
تابع کوئری
public function query($query, $params = []) { $stmt = $this->con->prepare($query); foreach($params as $key => $value){ $stmt->bindparam($key, $value); } $stmt->execute(); return $stmt; }

تابع ساخت کوئری insert
public function insert($params) { $result = "INSERT INTO `{$this->tableName}` ("; foreach($params as $key => $value){ $result .= ' ' . $key .','; } $result = substr($result, 0, -1) . " ) VALUES ("; foreach($params as $key => $value){ $result .= ' ?,'; } $result = substr($result, 0, -1) . " )"; return $result; }

تابع insert در کلاس Categories
public static function insert($params = []) { $dal = new DAL(self::$tableName); $query = $dal->insert($params); $result = $dal->query($query, $params); return $result; }

محل استفاده
Categories::insert(['title' => $_POST['categoryName'], 'urlkey' => $_POST['urlKey'], 'active' => $_POST['activation']]

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : prepare statement,prepare statement of cash flows,prepare statement mysql,prepare statement sql,prepare statement of retained earnings,prepare statement of cash flows from balance sheet,prepare statement of cash flows indirect method,prepare statement example,preparedstatement,prepare statement jdbc, نویسنده : خنجی prog بازدید : 222 تاريخ : چهارشنبه 14 مهر 1395 ساعت: 19:58

خبرنامه