每个数组值都存储到数据库| PHP中
如何使此数组每值有一行,例如每个数组值都存储到数据库| PHP中,php,mysql,Php,Mysql,如何使此数组每值有一行,例如 array('item1', 'item2', 'item3', 'item4'); 我希望它们分别存储一行,而不是一行。这取决于数据库表布局和插入查询。为了简单起见,可以遍历数组并插入每个字段 $sql = "INSERT INTO table_name (`column_name`) VALUES (" . implode("), (", $array) . ")"; 像那样的东西应该可以。SQL语句构造称为“扩展插入” 该方法基本上将具有特定字符的数组粘合
array('item1', 'item2', 'item3', 'item4');
我希望它们分别存储一行,而不是一行。这取决于数据库表布局和插入查询。为了简单起见,可以遍历数组并插入每个字段
$sql = "INSERT INTO table_name (`column_name`) VALUES (" . implode("), (", $array) . ")";
像那样的东西应该可以。SQL语句构造称为“扩展插入”
该方法基本上将具有特定字符的数组粘合在一起。更多信息,请参见上面的人
编辑
为了安抚群众,您应该在阵列上运行一个脚本,以确保正确转义数据,以避免错误和sql注入:即:
$array = array_filter($array, 'mysql_real_escape_string');
过滤器部分“未测试”,只是一个粗略的例子。最初被忽略的原因是没有显示实际的sql代码,我的假设是用户之前已经考虑到了这一点 您需要使用一个神奇的for循环:
$array = array('item1', 'item2', 'item3', 'item4');
foreach($array as $value){
// insert $value into your database
}
这实际上取决于您使用的是什么数据库,或者PHP安装中是否有PDO 如果您有PDO,它将如下所示:
//connection details
$driver = "mysql";
$host = "127.0.0.1";
$database = "my_database";
$username = "username";
$password = "password";
//connect to the DB
$pdo = new PDO("$driver:host=$host;dbname=$database",$username,$password);
//gather your data
$data = array('item1','item2','item3','item4');
//prepare the sql statement
$sql = "INSERT INTO `table_name` (`column_name`) VALUES (?)";
$stmt = $pdo->prepare($sql);
//iterate over your array
foreach ($data as $d) {
//run the query, passing the data item, which gets passed to the prepared statement
$success = $stmt->execute(array($d));
}
如果你想要更多的细节,去看看
希望有帮助 这取决于许多因素,但通常,您会创建两个表,一个表示数组(至少有一个ID列),另一个表示项(至少有两个列,一个表示数组ID和值)。所以在这种情况下,你有 Array table +----+ | ID | +----+ | 1 | +----+ 数组表 +----+ |ID| +----+ | 1 | +----+ 项目表 +----------+--------+ |数组ID |项| +----------+--------+ |1 |项目1| |1 |项目2| |1 |项目3| |1 |项目4| +----------+--------+ 这样,您就可以在每一行中拥有每一项 您还应该将数组表中的
ID
设置为主键,并将项表中的Array ID
设置为外键,该外键链接到数组表中带有“”的ID
您可以使用来查询此关系
希望这有帮助。实现取决于您的db方案,请发布它……请不要忘记转义这些值,以防止SQL注入和其他讨厌的东西。 Array table +----+ | ID | +----+ | 1 | +----+ Item table +----------+--------+ | Array ID | Item | +----------+--------+ | 1 | item1 | | 1 | item2 | | 1 | item3 | | 1 | item4 | +----------+--------+