// в начале php файла указывается
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$result = curl_exec($ch);
if($result === false)
{
echo 'Ошибка curl: ' . curl_error($ch);
}
else
{
var_dump($result);
}
while($row=mysqli_fetch_array($res))
{
// #########################
// #### начало тела цикла #####
// ##########################
$iduser=$id;
$idkat=$row['idkat'];
// #########################
// #### конец тела цикла #####
// ##########################
}
$res=mysqli_prepare($bd, "INSERT INTO zakaz (iduser,idkat)
VALUES(?,?)");
mysqli_stmt_bind_param($res, 'ii', $iduser,$idkat); // подставляем переменные, которые присвоились на ПОСЛЕДНЕМ прогоне цикла
$result2=mysqli_stmt_execute($res);
while($row=mysqli_fetch_array($res))
{
// #########################
// #### начало тела цикла #####
// ##########################
$iduser=$id;
$idkat=$row['idkat'];
$res2=mysqli_prepare($bd, "INSERT INTO zakaz (iduser,idkat)
VALUES(?,?)");
mysqli_stmt_bind_param($res2, 'ii', $iduser,$idkat); // подставляем переменные, которые присвоились на ТЕКУЩЕМ прогоне цикла
$result2=mysqli_stmt_execute($res2);
// #########################
// #### конец тела цикла #####
// ##########################
}
<form action="send.php">
...
</form>
<form action="send.php" method="POST">
...
</form>
echo "GET:";
var_dump($_GET);
echo "POST:";
var_dump($_POST);
exit();
$product_list = [30, 32, 38];
$query = " `productId` in (".join(', ', array_map(function($item){return int $item;}, $product_list)).")";
$sql = "SELECT * FROM `products` WHERE ".$query;
// Должен получиться запрос:
// SELECT * FROM `products` WHERE `productId` in (30, 32, 38)
// array_map тут нужен для принудительного перевода всех значений в числовой вид, обеспечив тем самым экранирование.
$query = $db->query($sql);
$products_data = $query->fetchAll(\PDO::FETCH_ASSOC);
$product_list = [30, 32, 38];
$in_params = [];
for($i = 0; $i < count($product_list), $i++)
$in_params[':productId'.$i] = $product_list[$i];
// получили массив: $in_params = [':productId0' => 30, ':productId1' => 32, ':productId0' => 38];
$placeholder_string = join(', ', array_keys($in_params));
// получили строку $placeholder_string = ":productId0, :productId1, :productId2";
$sql = "SELECT * FROM `products` WHERE `productId` in (".$placeholder_string.")";
// Должен получиться запрос:
// SELECT * FROM `products` WHERE `productId` in (:productId0, :productId1, :productId2)
$query = $db->prepare($sql);
$query->execute($in_params); // in_params в точности в таком формате, который нужен для связки параметров productId
$products_data = $query->fetchAll(\PDO::FETCH_ASSOC);
$content = hex2bin(str_replace(" ","", "25 50 44 46 2D 31 2E 35 0D 0A 25 B5 B5 B5 B5 0D 0A 31 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 43 61 74 61 6C 6F 67 2F 50 61 67 65 73 20 32 20 30 20 52 2F 4C 61 6E 67 28 72 75 2D 52 55 29 20 2F 53 74 72 75 63 74 54 72 65 65 52 6F 6F 74 20 32 32 20 30 20 52 2F 4D 61 72 6B 49 6E 66 6F 3C 3C 2F 4D 61 72 6B 65 64 20 74 72 75 65 3E 3E 3E 3E 0D 0A 65 6E 64 6F 62 6A 0D 0A 32 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 50 61 67 65 73 2F 43 6F 75 6E 74 20 31 2F 4B 69 64 73 5B 20 33 20 30 20 52 5D 20 3E 3E 0D 0A 65 6E 64 6F 62 6A 0D 0A 33 20 30 20 6F 62 6A 0D 0A 3C 3C 2F 54 79 70 65 2F 50 61 67 65 2F 50 61 72 65 6E 74 20 32 20 30 20 52 2F 52 65 73 6F 75 72 63 65 73 3C 3C 2F 45 78 74 47 53 74 61 74 65 3C 3C 2F 47 53 35 20 35 20 30 20 52 2F 47 53 36 20 36 20"));
// если записать в каталог сервера, то так:
file_put_contents("file.pdf", $content);
// если отдать контент браузеру, то так:
header("Content-type:application/pdf");
header("Content-Disposition:inline;filename='file.pdf");
echo $content;
echo $datetime->format('F j, Y');
<?php
error_reporting(E_ALL); // репорт ошибок в файл error_log
ini_set('display_errors', 'On'); // вывод сообщения об ошибке
var_dump($_POST);
var_dump($pdo->errorInfo());
if(array_key_exists('PATH_INFO', $_SERVER)) // проверяем наличие ключа
{
echo $_SERVER['PATH_INFO']; // что-то делаем с элементом массива по ключу, например, печатаем.
}
else
{
// что-то делаем, когда ключа нет
}
по ключу "qwe" быстро получать "num"
писать скрипт, который будет вытаскивать по запросу необходимые записи, далее для каждой записи разбирать сер.массив, находить нужное значение, изменять его и затем записывать новый массив с изменённым значением в БД
if (isset($_FILES["uploaded_file"]) && !empty($_FILES["uploaded_file"]["name"]) && is_array($_FILES["uploaded_file"]["name"]) && count($_FILES["uploaded_file"]["name"]) > 0)
{
for($i = 0; $i < count($_FILES["uploaded_file"]["name"]); $i++)
{
$file_name = $_FILES['uploaded_file']['name'][$i];
$file_size = $_FILES['uploaded_file']['size'][$i];
$file_tmp = $_FILES['uploaded_file']['tmp_name'][$i];
$file_type = $_FILES['uploaded_file']['type'][$i];
$file_ext = strtolower(end(explode('.', $_FILES['uploaded_file']['name'][$i])));
...
}
}
/* создание подготавливаемого запроса */
$stmt = $mysql->prepare("select sum(c.`Price`) as price_sum
from `dogovor` d
join `catalog` c on c.`Id_Product` = d.`Id_Product`
where d.`id_client` = ?");
/* связывание параметров с метками */
$stmt->bind_param("i", $id_client);
/* выполнение запроса */
$result = $stmt->execute();
/* выборка результатов */
$row = $result->fetch_accos();
if($row)
{
echo 'Общая стоимость всех заказов клиента: '.$row['price_sum'];
}
else
{
echo 'Запрос не дал результата!';
}
select A.*
from (SELECT `date`, `name`, phone, count() over (partition by phone) phone_count
FROM `myusers`
) A
where A.phone_count > 1
ORDER BY date ASC
select `date`, `name`, phone, p.phone_count
from `myusers` as mu
join (SELECT phone, count(*) phone_count
FROM `myusers`
group by phone) p on p.phone = mu.phone
where p.phone_count > 1
ORDER BY mu.date ASC
$result = curl_exec($ch);
$info = curl_getinfo($ch);
if($info['http_code'] != 200)
{
// по http не получили статус 200, значит, пишем репорт об этом
}
curl_close($ch);
$result = curl_exec($ch);
$curl_error_number = curl_errno($ch);
if($curl_error_number)
{
$info = curl_getinfo($ch);
// что-то случилось с соединением в целом, пишем репорт об этом со сведениями $info
}
curl_close($ch);