我有一个包含以下字段的mySQL表:
我有一个具有以下结构的对象:
var $urls = {largeImg:[],preview:[]}
$ urls.largeImg值必须插入“ large_url”和
$ urls.preview_url值必须插入到'preview_url'
$ urls.largeImg [0]必须与$ urls.preview [0]放在同一MySQL表行中,
$ urls.largeImg [1]与$ urls.preview [1]放在同一行,依此类推。
我的php:
$urls = $_POST['urls'];
function cache_urls($urls){
global $db;
foreach($urls as $url){
$sql = "INSERT INTO cache ";
$sql .= "(preview_url, large_url) ";
$sql .= "VALUES (";
$sql .= "'" . db_escape($db, $url['preview']) . "', ";
$sql .= "'" . db_escape($db, $url['largeImg']) . "'";
$sql .= ");";
$result = mysqli_query($db, $sql);
}
然后我也尝试了这个:
foreach($urls as $url){
foreach($url as $key => $value){
$sql = "INSERT INTO cache ";
$sql .= "(preview_url, large_url) ";
$sql .= "VALUES (";
if($key==="preview"){
$sql .= "'" . db_escape($db, $value) . "', ";
}
if($key==="largeImg"){
$sql .= "'" . db_escape($db, $value) . "'";
}
$sql .= ");";
$result = mysqli_query($db, $sql);
}
}
因此,我认为SQL位肯定是错误的,但我的确掌握了一切!任何帮助表示赞赏。
答案 0 :(得分:1)
您应该这样做,
$sql = "INSERT INTO cache (preview_url, large_url) values";
foreach($urls["largeImg"] as $index => $large_url){
$preview_url = $urls["preview"][$index];
$sql .= "('" . db_escape($db,$preview_url) . "','" . db_escape($db,$large_url) . "'),";
}
$sql = rtrim($sql,",");