Ответы пользователя по тегу MySQL
  • Как реализовать массив подстановок для запроса в MySQL?

    @Salim_Gareev
    function db($query, $arr=false){
    global $mysqli;
    if(!$mysqli or isset($mysqli)){
    	$mysqli = new mysqli('localhost', 'user', '???', 'db');
    	$mysqli->set_charset("utf8");
    }
    $stmt = $mysqli->stmt_init(); 
    if($stmt->prepare($query)){
    	if(is_array($arr)){
    	$refarg = array($stmt, str_pad('', count($arr), 's'));
    		foreach ($arr as $key => $value){
    			$refarg[] =& $arr[$key];
    		}
    	call_user_func_array("mysqli_stmt_bind_param", $refarg);
    	}
    	$stmt->execute();
    	$qb = $stmt->get_result();
    	if(preg_match("/select (.*)/i", $query)){
    		if(preg_match("/(.*) limit 1/i", $query)){
    			$result = mysqli_fetch_array($qb);
    		}else{
    			$result = array();
    			while($arr = mysqli_fetch_array($qb)){
    			$result[] = $arr;
    			}
    		}
    	}elseif(preg_match("/insert (.*)/i", $query)){
    		$result = $mysqli->insert_id;
    	}else{
    		$result = true;
    	}
    	$stmt->close();
    }else{
    	$result = false;
    }
    return $result;
    }

    Для mysqli писал когда то функцию. Возможно вам поможет в качестве примера.. В качестве 2 параметра функция принимает массив.
    Ответ написан
    7 комментариев