首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串与特定数组元素的连接

字符串与特定数组元素的连接
EN

Stack Overflow用户
提问于 2012-02-17 20:19:57
回答 2查看 125关注 0票数 0

下面给出的代码将数组中的数据插入到mysql table.as中,这不是完整的代码,但我想知道的在这段代码中是可用的。我的问题是,在表中有一个名为"image_url“的字段,但该字段中的数据只有图像名称,我想在每个图像名称的开头添加http://www.xxxxxx.com,并将其替换为字段中的图像名称,但我不知道如何做到这一点,请帮助我

提前感谢

代码语言:javascript
复制
function putTest($t) {

    //$c = connect();

    foreach ($t as $k => $v) {

         $query = "INSERT INTO test (".implode(',',array_keys($v)).") VALUES ('".implode("','",$v)."')";

         //echo "<pre>";

        // echo  $query;
        $r = mysql_query($query);

    }
    //mysql_close($c);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-17 20:27:32

这段代码应该可以做您想做的事情:

代码语言:javascript
复制
if (isset($v['image_url'])) {
    $v['image_url'] = 'http://www.xxxxxx.com/' . $v['image_url'];
}

你可以用点".“来连接字符串!

票数 2
EN

Stack Overflow用户

发布于 2012-02-17 20:35:46

起初..。您的应用程序是否受到SQL injection的保护?否则,您应该使用mysql_real_escape_string()构建两个方法/函数,如下所示

代码语言:javascript
复制
function sqlSafeKey( $key){
    return '`' . mysql_real_escape_string( $key) . `'`;
}

function sqlSafeValue( $value){
    return "'" . mysql_real_escape_string( $value) . "'";
}

然后使用array_map()转义您的值,如下所示:

代码语言:javascript
复制
$keys = array_map( 'sqlSafeKey', array_keys( $v));
$values = array_map( 'sqlSafeValue', $v);

关于你的问题。matzino's answer是正确的,整个循环应该如下所示:

代码语言:javascript
复制
function putTest($t) {

    //$c = connect();

    foreach ($t as $k => $v) {
         $v['image_url'] = 'http://www.xxxxxx.com/' . $v['image_url'];
         $keys = array_map( 'sqlSafeKey', array_keys( $v));
         $values = array_map( 'sqlSafeValue', $v);

         $query = "INSERT INTO test (".implode(',', $keys).
                  ") VALUES ('".implode("','",$values)."')";

         //echo "<pre>";

        // echo  $query;
        $r = mysql_query($query);

    }
    //mysql_close($c);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9328084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档