Dav*_*ave 4 php mysql arrays key-value
我正在用PHP编写一个小型Web服务,我在以下场景中遇到了一些麻烦.
我的计划是能够将一个数据数组发送到一个函数,然后该函数将构建一个MySQL运行查询.在数组中,我计划将键作为列名,并将值作为列中的值...即
$myData = array('userName'=>'foo','passWord'=>'bar');
$myClass = new users();
$myClass->addUser($myData);
Run Code Online (Sandbox Code Playgroud)
然后,在我的功能中,我目前有:
function addUser($usrData){
foreach($usrData as $col => $val){
// This is where I'm stuck..
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想知道如何分离键和值,以便我的查询将成为:
INSERT INTO `myTable` (`userName`,`passWord`) VALUES ('foo','bar');
Run Code Online (Sandbox Code Playgroud)
我知道我可能做的事情如下:
function addUser($usrData){
foreach($usrData as $col => $val){
$cols .= "," . $col;
$values .= ",'".$val."'";
}
}
Run Code Online (Sandbox Code Playgroud)
但我认为可能会有更优雅的解决方案.
这可能是非常简单的事情,但我以前从未遇到过这种情况,所以我会感激任何帮助和方向.
谢谢,
戴夫
试试这个:
function addUser($usrData) {
$count = 0;
$fields = '';
foreach($usrData as $col => $val) {
if ($count++ != 0) $fields .= ', ';
$col = mysql_real_escape_string($col);
$val = mysql_real_escape_string($val);
$fields .= "`$col` = $val";
}
$query = "INSERT INTO `myTable` SET $fields;";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19956 次 |
最近记录: |