gpt4 book ai didi

PHP 使用键和值对检查 foreach 循环内的数值?

转载 作者:可可西里 更新时间:2023-10-31 22:42:06 25 4
gpt4 key购买 nike

我正在尝试检查关联数组值是否为数字,这是我的代码

     $data = array('fullname'=>'Salah Saed', 'age'=>'33', 'gender'=>'Female');



public function insert($data, $table){
/*$query = "INSERT INTO `oop_crud`.`customers` (";
$query .= "`fullname` , `age` , `gender` )";
$query .= "VALUES ('".$fullname."', '".$age."', '".$gender."')";
*/
$feilds = array();
$feilds_value = array();
foreach ($data as $field => $field_value){

$feilds[] = $field;

echo $field;
if (is_numeric($field_value)){

$feilds_value[] = $field_value;

}else{

$feilds_value[] = "'".$field_value."'";
}


}

$query = "INSERT INTO ".$table." (";
$query .= implode(',', $feilds).")";
$query .= "VALUES (";
$query .= implode(',',$feilds_value).")";


echo $query;

它返回字符串,所以我的代码有什么问题,在条件部分我使用了 $field_value 并且这个变量有数组数据,播下如何获取数组值。

最佳答案

首先,MySQL的插入是类型无关的,所以

SET UserAge = '33'

相同
SET UserAge = 33

所以只添加引号会更安全。也就是说,如果您使用 PDO(又名参数化查询)搜索准备好的语句,那么您是最安全的。看看那个

http://php.net/is_numeric应该识别诸如 0x5390b10100111001 之类的值,MySQL 可能无法识别这些值;您需要检查这些情况。

关于PHP 使用键和值对检查 foreach 循环内的数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31159132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com