$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);
function SendNotice($p1, $p2) {
global $mysqli;
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT `id` FROM `users` WHERE `login` = '$p1'"));
if (!$row['id']) echo 'Ошибка!';
mysqli_query($mysqli, "INSERT INTO `notifications` VALUES ('', $row[id], 0, NOW(), '$p2')");
}
function SendNotice($p1, $p2) {
$user = R::findOne('users', 'login = ?', array($p1));
if ($user) {
$id = $user->id;
$notice = R::dispense('notices');
$notice->uid = $id;
$notice->status = 0;
$notice->data = date("H:i d:m:Y");
$notice->text = $p2;
R::store($notice);
} else {
echo 'Ошибка при добавлении оповещения!';
}
}
Ни каких ошибок не появляется.Это не говорит о том что их нет. Для отладки на дев окружении должны быть включены выводы всех нотисов и варнингов, либо через конфиг php.ini, либо в коде при старте указать
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
И тогда БД сможет тебе наконец сказать, что ей не так.function SendNotice($conn, $p1, $p2) {
$sql = "SELECT `id` FROM `users` WHERE `login` = ?";
$row = prepared_query($mysqli, $sql, [$p1])->get_result()->fetch_assoc();
if (!$row['id']) echo 'Ошибка!';
$sql = "INSERT INTO `notifications` VALUES (null, ?, 0, NOW(), ?)";
prepared_query($conn, $sql, [$row[id], $p2]);
}
include 'mysqli.php';
SendNotice($conn, 'test', 'Test text');
function SendNotice($p1, $p2) {
global $mysqli;
$row = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT `id` FROM `users` WHERE `login` = '".$p1."'"));
if (!$row['id']) echo 'Ошибка!';
mysqli_query($mysqli, "INSERT INTO `notifications` VALUES ('', ".$row[id].", 0, NOW(), '".$p2."')");
}