php - 只写一行到我的 SQL 数据库

标签 php mysql sql

我正在尝试将一行从一个表移动到另一个表,但它不起作用。它的第一行很好,但是我什么也做不了,剩下的就可以了,只是不要进入我的数据库。

$result = mysql_query("SELECT * FROM coffees WHERE id='$id'");

while($row = mysql_fetch_array($result)) {
  mysql_query("INSERT INTO coffeeorder(coffeetype,topping,shots,milk,size,price) VALUES ('coffeetype', 'topping', 'shots', 'milk', 'Size', 'price')");

  echo $row['coffeetype'] . " " . $row['topping']." " . $row['shots']." " . $row['milk']." " . $row['size']." $" . $row['price']."<br />";

  $totalPrice = $totalPrice + $row['price'];
}

知道为什么这不起作用吗?

完整代码:

<?php 
session_start();
if(isset($_SESSION["id"])){

$id = $_SESSION["id"];
$name = $_SESSION["name"];


}else {header('Location: index.php');}

 include_once "dbcon.php";
    $totalPrice = 0;
    $result = mysql_query("SELECT * FROM coffees WHERE id='$id'");
while($row = mysql_fetch_array($result))
  {

      mysql_query("INSERT INTO `coffeeorder`(`coffeetype`,`topping`,`shots`,`milk`,`size`,`price`) VALUES ('".$row['coffeetype']."', '".$row['topping']."', '".$row['shots']."', '".$row['milk']."', '".$row['size']."', '".$row['price']."')");




  echo $row['coffeetype'] . " " . $row['topping']." " . $row['shots']." " . $row['milk']." " . $row['size']." $" . $row['price']."<br />";

  $totalPrice = $totalPrice + $row['price'];

  }
    echo "Total Price $".$totalPrice;


?>

最佳答案

请尝试转移到 PDO:

<?php
    $db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    $stmt = $db->query("SELECT * FROM coffees WHERE id=:id");
    $stmt->execute(array(':id' => $id));
    $row = $stmt->fetch(PDO::FETCH_ASSOC);

    $stmt = $db->query("INSERT INTO coffeeorder(coffeetype,topping,shots,milk,size,price) VALUES (:coffeetype, :topping, :shots, :milk, :size, :price)");
    $stmt->execute(array(':coffeetype' => $row['coffeetype'], ':topping' => $row['topping'],':shots' => $row['shots'],':milk' => $row['milk'],':size' => $row['size'],':price' => $row['price']));
    echo $row['coffeetype'] . " " . $row['topping']." " . $row['shots']." " . $row['milk']." " . $row['size']." $" . $row['price']."<br />";

    $totalPrice = $totalPrice + $row['price'];

?>

关于php - 只写一行到我的 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224467/

相关文章:

php - 具有长输出长度的 PHP 哈希函数?

php - codeigniter 3 错误未定义的属性

PHP MySQL REGEX 匹配搜索

mysql - Nedd 帮助理解为什么只有带有子查询的 JOIN 返回正确的值

sql - ALTER TABLE DROP INDEX 在非内存优化的表上失败

PHP - foreach 重叠问题

php - Mysql PDO 中 "RETURNING"子句的语法

sql - 按间隔分组

php - 表 2 中的三个连接字段覆盖表 1 中的三个连接字段

sql - 消息8114,级别16,状态5,过程sp_product_listing,第0行将数据类型varchar转换为datetime时出错