要想带上键名,可以这样
{foreach $arr as $key=>$value}
{$key}:{$value}
{foreachelse}
当前数组没有数据
{/foreach}
{foreach $arr as $key=>$value}
{$key}:{$value}
{foreachelse}
当前数组没有数据
{/foreach}
2016-08-14
mysql_real_escape_string()不是说这种过滤被摒弃了么?改用bindparam了。
还有用array_values, array_keys,来替代
foreach($arr as $key=>$value){//foreach循环数组
$value = mysql_real_escape_string($value);
$keyArr[] = "`".$key."`";
$valueArr[] = "'".$value."'";
}
array_keys($array) //返回所有键名 array_values($array) //返回所有键值
还有用array_values, array_keys,来替代
foreach($arr as $key=>$value){//foreach循环数组
$value = mysql_real_escape_string($value);
$keyArr[] = "`".$key."`";
$valueArr[] = "'".$value."'";
}
array_keys($array) //返回所有键名 array_values($array) //返回所有键值
2016-08-13
最新回答 / 金泽城
因为 mysql_real_escape_string()这个函数调用了MySql的C的API.mysql_real_escape_string(),并且在调用这个API之前,先是判断了是否连接上了数据库,所以这就意味着mysql_real_escape_string必须是连接数据库之后才能使用,否则就会报错。这就是为什么那么多开源的程序比如Discuz用addslashes而不用mysql_real_escape_string了。
2016-08-11
工厂模式那里,为什么能调用connect ,query那些方法,这些不都是只针对mysql类的对象才能调用吗?那如果是其他的数据库类如sqlite还能这样调用吗
2016-08-11
已采纳回答 / fox_Dmu
如果是其他的数据库,如SQL server的数据库,那么你要写一个SQL server的数据库类,并且这个SQL server数据库类所具有的方法及调用这些方法的参数要符合一个通用的标准.这样一来,不管你用工厂模式实例化出什么样的数据库实例,这些数据库实例都具有相同的方法,相同的调用参数,这样一来,程序的可扩展性就提高了.不同的数据库类实现相同的方法(及调用方法时的参数),这最好先做一个数据库类的接口,制定一个标准,让各种不同的数据库类来实现这个接口的功能.
2016-08-11
array_keys() 和 array_values() 的返回值是 array 类型的,不能直接在左右两边连接 "`" 和 "'" 吧! @张海
2016-08-10