在PHP中将数组更改为数据库查询

时间:2014-01-17 19:46:22

标签: php mysql

我有一个数组如下:

 Array ( [item-name] => SM58 
         [make] => Shure 
         [model] => SM58 
         [qty] => 5 
         [status] => Available 
       )

我想将其更改为数据库查询,例如:

INSERT INTO `Inventory`(`item-name`, `make`, `model`, `qty`, `status`) VALUES ('SM58','Shure','SM58','5',[Available])

我无法理解我是如何实现它的。

2 个答案:

答案 0 :(得分:3)

您可以使用PDO:

$stmt = $PDOinstance->prepare("
  INSERT INTO `Inventory` (`item-name`, `make`, `model`, `qty`, `status`) 
  VALUES (:item-name, :make, :model, :qty, :status)
");
$stmt->execute($yourArray);

答案 1 :(得分:-1)

试试这个

   foreach($array as $index => $value){
    $fields .= "`".$index."`".",";
    $values .= "'".mysql_real_escape_string($value)."'".","; //This escapes for mysql
    }
    $fields = rtrim($fields,",");
    $values = rtrim($values,',');
    $sql = "INSERT INTO `Inventory`($fields) VALUES ($values)";

但是,由于mysql_ *函数已被折旧,因此最好将上述帖子与PDO和预处理语句一起使用,或者您可以将mysqli_ *函数与准备好的语句一起使用。以下是两个资源的链接。

PDO:http://www.php.net/manual/en/book.pdo.php MySQLI:http://uk1.php.net/mysqli