拜托,我在数组中有一个表,我希望用php中的匹配模式更新对象。查询:
REPLACE INTO entries ( mail, name, gender, age, ip, t, code, v, ansvers )
VALUES ( '$entry->mail', '$entry->name', '$entry->gender', '$entry->age', '$entry->ip', '$entry->t', '$entry->code', '$entry->v', '$entry->ansvers' )
我想知道是否有任何简单的方法来指定变量,而不必使用循环创建查询字符串并检索对象/数组变量键或像这样手动键入所有内容。
例如,如果我将$entry->mail
重命名为$entry->mail2
,则查询将执行:
REPLACE INTO entries ( mail2 ) VALUES ( `$entry->mail2` )
如果需要,可以将$ entry更改为任何数据结构。
感谢。
答案 0 :(得分:1)
如果从对象到表格确实存在1:1的对应关系,则可以执行此操作以生成查询:
$query = "REPLACE INTO entries (" .
implode(',', array_keys(get_object_vars($entry))) .
") VALUES ('" .
implode("','", get_object_vars($entry)) .
"')";