亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PDO (PHP) 在 mySQL 數據庫中插入數字數據

使用 PDO (PHP) 在 mySQL 數據庫中插入數字數據

PHP
一只甜甜圈 2023-12-15 15:32:11
我正在嘗試使用 PHP 數據對象(PDO)在 MySQL 數據庫中插入字符串(:make 和:model)和數字(:year 和:mileage)數據。問題是代碼沒有在數據庫中插入數字數據(我猜原因是代碼自動將 :year 和 :mileage 數據類型從 int 更改為 str?!皔ear”和DB 表中的“里程”列是 INT 類型。)如何更改代碼以插入 :year 和 :mileage 作為 INT 數據?//PDO<?php$pdo = new PDO('mysql:host=localhost;port=8888;dbname=xxxx',    'xxx', 'xxx');$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //SQL  $sql = "INSERT INTO autos (make, model, year, mileage)                  VALUES (:make, :model, :year, :mileage)";        $stmt = $pdo->prepare($sql);        $stmt->execute(array(            ':make' => $_POST['make'],            ':model' => $_POST['model'],            ':year' => $_POST['year'],            ':mileage' => $_POST['mileage']));        $_SESSION['success'] = 'Record Added';        header( 'Location: index.php' ) ;        return;?><form method="post"><p>Make:<input type="text" name="make"></p><p>Model:<input type="text" name="model"></p><p>Year:<input type="number" name="year"></p><p>Mileage:<input type="number" name="mileage"></p><p><input type="submit" value="Add New"/><!--SQL schema--!>CREATE TABLE autos (  autos_id INTEGER NOT NULL KEY AUTO_INCREMENT,  make VARCHAR(255),  model VARCHAR(255),  year INTEGER,  mileage INTEGER) ENGINE=InnoDB DEFAULT CHARSET=utf8;
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

這里的問題是 PHP POST 數據是字符串,因此您需要在插入之前對其進行轉換。


<--PDO code-->

<?php

$pdo = new PDO('mysql:host=localhost;port=8888;dbname=xxxx', 

   'xxx', 'xxx');

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


 //SQL 

 $sql = "INSERT INTO cars (make, model, year, mileage)

                  VALUES (:make, :model, :year, :mileage)";

        $stmt = $pdo->prepare($sql);

        $stmt->execute(array(

            ':make' => $_POST['make'],

            ':model' => $_POST['model'],

            ':year' => intval($_POST['year']),

            ':mileage' => intval($_POST['mileage'])));

        $_SESSION['success'] = 'Record Added';

        header( 'Location: index.php' ) ;

        return;

?>


<form method="post">

<p>Make:

<input type="text" name="make"></p>

<p>Model:

<input type="text" name="model"></p>

<p>Year:

<input type="number" name="year"></p>

<p>Mileage:

<input type="number" name="mileage"></p>

<p><input type="submit" value="Add New"/>


查看完整回答
反對 回復 2023-12-15
  • 1 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號