Чёто правильно не?
<?php
$mysqli=new mysqli(лала данные для коннекта);
# конект с бд
$prepare=$mysqli->prepare("INSERT INTO `test` SET `id` = ?"
# подготавливаем запрос
$id=1;
$prepare->bind_param("?", $id);
# привязываем данные
$prepare->execute();
# выполняем запрос
?>
и можно ли вот так?
<?php
$mysqli=new mysqli(лала данные для коннекта);
# конект с бд
$prepare=$mysqli->prepare("INSERT INTO `test` SET `id` = ?"
# подготавливаем запрос
$id=1;
$prepare->execute(array($id));
# выполняем запрос
?>
ибо в PDO так можно в mysqli хз
и ещё например
<?php
$out_id = NULL;
$out_label = NULL;
$prepare->bind_result($out_id, $out_label);
?>
Как через bind_result вернуть всё в масив? а не в отдельные переменные
function Search( $RequestID )
{
global $mysqli;
$sql = "SELECT * FROM `ex_requests` WHERE `ID` = ?";
$stmt = $mysqli->stmt_init();
if( $result = $stmt->prepare( $sql ) )
{
$stmt->bind_param( "d",$RequestID );
$stmt->execute();
$result = $stmt->result_metadata();
$fields = $result->fetch_fields();
$res_arr = array(); $list = array();
foreach($fields as $f)
$list[] = &$res_arr[$f->name];
if(!call_user_func_array(array($stmt, 'bind_result'), $list))
return "bind result error: ".$stmt->error;
$f = $stmt->fetch();
if($f === false)
return "fetch error: ".$stmt->error;
if($f === null)
return null;
return $res_arr;
}
return mysqli_error($mysqli);
}
вырезал код,думаю поймешь
откуда "d" bind_param("d",$RequestID)? если в prepare указан "?"
вот я и не пойму, чё имя давать любое?
ибо
mysqli->prepare("INSERT INTO `lol` SET `id` = ?"
mysqli->bind_param("d", $id);
Как видно в запросе плейсхолдер "?" а в bind_param указывается "d"
OTAKU, не любое, это как пдо можно задавать имя аргументам, почитай мануалы
вот как раз как в PDO я понял а вот тут не хера запутался с плейсхолдером