<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # mysql數據庫操作 >[success]PHP與Mysql可謂是黃金搭檔!所以必要熟練掌握相關的知識。雖然說現在PHP的開發大部分都在使用比較成熟的框架,但是掌握原生PHP操作Mysql是十分必要的。 > ## 常見PHP操作Mysql的方式 >[info] PHP連接Mysql的方式,有:mysql、msyqli、pdo > >[danger]`mysql`這種方式,目前基本上不使用了。 > PHP 5 及以上版本建議使用以下方式連接 MySQL : MySQLi extension ("i" 意為 improved) PDO (PHP Data Objects) ## `mysqli`操作`Mysql` >[success]`Mysqli`和`Mysql`在命令格式上基本上和操作上基本一致。 > >[danger]mysqli的操作上有`面向對象`和`面向過程`兩種,不過在使用上都差不多。 ### 連接`mysql`數據庫 1. 面向對象 ~~~ <?php $servername="127.0.0.1"; $username="root"; $password="HbhRrH666CJH2ciY"; $mydbname="databasename"; // 創建連接 $link=new mysqli($servername,$username,$password,$mydbname); // 檢測連接 if($link->connect_error){ die("連接失敗".$link->connect_error); } echo "連接成功"; //關閉連接 $conn->close(); ?> ~~~ 2. 面向過程 ~~~ <?php $servername="127.0.0.1"; $username="root"; $password="HbhRrH666CJH2ciY"; $mydbname="databasename"; // 創建連接 $link=mysqli_connect($servername,$username,$password,$mydbname); // 檢測連接 if(!$link){ die("連接失敗".mysqli_connect_error()); } echo "連接成功"; //關閉連接 mysqli_close($conn); ?> ~~~ >[danger]判斷數據庫連接成功的方法,除了上述方式外,還可以使用`mysqli_connect_errno() `函數來判斷 ### 創建數據庫 ~~~ <?php // 創建數據庫 $sql = "CREATE DATABASE myDB"; if ($conn->query($sql) === TRUE) { echo "數據庫創建成功"; } else { echo "Error creating database: " . $conn->error; } ?> ~~~ >[danger]執行sql語句,使用`query` > ### 創建數據表 ~~~ <?php // 使用 sql 創建數據表 $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "創建數據表錯誤: " . $conn->error; } ?> ~~~ ### 插入數據 ~~~ <?php $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')"; if ($conn->query($sql) === TRUE) { echo "新記錄插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ?> ~~~ ### 插入多條數據 ~~~ <?php $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if ($conn->multi_query($sql) === TRUE) { echo "新記錄插入成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } ?> ~~~ ### 預處理語句 1. 預處理:創建 SQL 語句模板并發送到數據庫。預留的值使用參數 "?" 標記 。例如: ~~~ INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?) ~~~ 2. 數據庫解析,編譯,對SQL語句模板執行查詢優化,并存儲結果不輸出。 3. 執行:最后,將應用綁定的值傳遞給參數("?" 標記),數據庫執行語句。應用可以多次執行語句,如果參數的值不一樣。 ### 相比于直接執行SQL語句,預處理語句有兩個主要優點: 1. 預處理語句大大減少了分析時間,只做了一次查詢(雖然語句多次執行)。 2. 綁定參數減少了服務器帶寬,你只需要發送查詢的參數,而不是整個語句。 3. 預處理語句針對SQL注入是非常有用的,因為參數值發送后使用不同的協議,保證了數據的合法性。 ~~~ <?php // 預處理及綁定 $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // 設置參數并執行 $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute(); $firstname = "Mary"; $lastname = "Moe"; $email = "mary@example.com"; $stmt->execute(); $firstname = "Julie"; $lastname = "Dooley"; $email = "julie@example.com"; $stmt->execute(); echo "新記錄插入成功"; ?> ~~~ ### 讀取數據 ~~~ <?php $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 輸出數據 while($row = $result->fetch_assoc()) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 結果"; } ?> ~~~ ## PDO操作Mysql數據庫 ### 連接數據庫 ~~~ <?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); echo "連接成功"; } catch(PDOException $e) { echo $e->getMessage(); } ?> ~~~ ### 關閉數據庫連接 ~~~ <?php $conn=null; ?> ~~~ ### 創建數據 ~~~ <?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); // 設置 PDO 錯誤模式為異常 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO"; // 使用 exec() ,因為沒有結果返回 $conn->exec($sql); echo "數據庫創建成功<br>"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?> ~~~ >[danger]PDO執行SQL語使用的:`$conn->exec($sql)`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看