if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
echo "Connected successfully";
}
ini_set('display_errors', 1);
Я только недавно начал изучать программирование
<?=$contacts['filial']?>
- это говнокод и дыра в безопасности. В любых данных, выводимых в HTML, должны экранироваться спецсимволы HTMLfunction listContactsByDepartment ($pdo){
$sql = "SELECT
t3.department, -- обращаем внимание на эту строчку. Она должна быть первой
t1.id,
t1.full_name,
t1.email_user,
t1.tel_number,
t2.filial,
t3.department_email,
t4.position,
t5.number
FROM contact_work AS t1 INNER JOIN filial_work AS t2 ON t1. id_filial = t2.id
INNER JOIN department_work AS t3 ON t1. id_department = t3.id
INNER JOIN position AS t4 ON t1. id_position = t4.id
INNER JOIN number_work AS t5 ON t1. id_number = t5.id
ORDER BY `t2`.`filial` ASC , `t3`.`department` DESC ";
return $pdo->query($sql)->fetchAll(PDO::FETCH_GROUP); # Обращаем внимание на эту константу
}
$contacts = listContactsByDepartment ($pdo);
<?php foreach($contacts as $department_title => $department_contacts): ?>
<tr>
<td colspan=10><?=htmlspecialchars($department_title) ?>
<tr>
<?php foreach($department_contacts as $row): ?>
<tr>
<td><?=htmlspecialchars($row['filial']) ?></td>
...
</tr>
<?php endforeach ?>
<?php endforeach ?>
include "https://сайт/include.php";
- это идиотизм, и не должно работать. и не будет. Можно сразу забыть и идти исправлять на нормальные пути. Будет гораздо быстрее чем ныть здесь. include $_SERVER['DOCUMENT_ROOT']."/include.php";
если это свой сайт. Если чужой, то просто выкинуть эту строчку совсем. Ну или попробовать заменить на file_get_contentsinclude "include.php";
будут работать, если указать абсолютный путь. Хотя бы так,include __DIR__."/include.php";
, но в некоторых случаях может не сработать$query = "UPDATE `users` SET `address`= ?,`phone_number`=? WHERE email=?";
$params = [
$address,
$phone_number,
$email,
];
$stmt = $pdo->prepare($query);
$stmt->execute($params);
Главный файл mainpage.php в котором использую объект XMLHttpRequest
мне нужно в файле mainpage.php повторно использовать результат запроса
Один global.php, в котором описана переменная: global $all_search;.
$id = $_SESSION['id'];
$sql = "INSERT INTO zakaz (iduser,idkat) SELECT iduser, idkat FROM corzina WHERE iduser=?";
$stmt = $bd->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->execute($res);
$product_list = [30, 32, 38];
// получаем строку вида ?,?,? по количеству эл-тов в массиве
$placeholder_string = str_repeat('?,', count($product_list) - 1) . '?';
$sql = "SELECT * FROM `products` WHERE `productId` in ($placeholder_string)";
$query = $db->prepare($sql);
$query->execute($product_list);
$products_data = $query->fetchAll(\PDO::FETCH_ASSOC);
if($conn->connect_error) {
die("Ошибка соединения: " . $conn->connect_error);
}
<?php
$host = '127.0.0.1';
$dbname = 'bdKIZ';
$username = 'root';
$pass = '';
$dsn = "mysql:host=$host;dbname=$dbname;charset=utf8mb4";
ini_set('display_errors', 1);
error_reporting(E_ALL);
$pdo = new PDO($dsn, $username, $pass);
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "SELECT * FROM `Detail`";
$stmt = pdo->query($sql);
var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
public function process()
{
$request = new Request();
$param = $request->get('name')
}
public function process(Request $request)
{
$param = $this->request->get('name')
}
Заметил, что в PHP если и используется связи между объектами(ассоциация), то только в виде композиции,
class User
{
public function __construct(Database $db)
{
$this->db = $db;
}
}
class User
{
protected $db;
public function __construct()
{
$this->db = new Database();
}
}
редко бывает, когда создаётся самостоятельный класс, а потом он ещё и в другой класс попадает.
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
ini_set('display_errors',1);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
$section = explode("/",trim($_SERVER['REQUEST_URI'],"/"))[0] ?: 'index';
$other_page = in_array($section, ['news','info']);
if (!$other_page) {
echo 'вывод содержимого';
} else {
echo 'вывод содержимого';
}
можно ли как-то эту нагрузку снизить
было записано только то, что вызывается 502 ошибка, а не причина почему она вызвана.