سلام خسته نباشید
من دارم یک سایت طراحی میکنم با php
یک جایی به مشکل برخوردم
<?php
session_start();
include("db.php");
include("links.php");
$user = mysqli_query($connect, "SELECT * FROM users WHERE Id = '".$_SESSION["userId"]."' ")
or die("Failed to query database".mysql_error());
$user = mysqli_fetch_assoc($user);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="cil-md-4">
<p>Hi <?php echo $user["User"]; ?></p>
<input type="text" id="fromUser" value=<?php echo $user["Id"]; ?> hidden />
<p>Send message to:</p>
<ul>
<?php
$msgs = mysqli_query($connect, "SELECT * FROM users ")
or die("Failed to query database".mysql_error());
while($msg = mysqli_fetch_assoc($msgs));
{
echo '<li><a href="?toUser='.$msg["Id"].'">'.$msg["User"].'</a></li>';
}
?>
</ul>
</div>
<div class="cil-md-4">
</div>
<div class="cil-md-4">
</div>
</div>
</div>
</body>
</html>
وقتی کد رو اجرا میکنم لاین 31 ارور میده متن ارور:
Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\New folder\chatbox.php on line 31
Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\New folder\chatbox.php on line 31
سلام
این خطا به این دلیله که شما دارید داخل آرایه user اطلاعات مربوط به کاربران رو از پایگاه داده (DataBase) در یافت میکنید ، حالا به هر دلیل این داده ها از پایگاه داده برگشت داده نمیشن و مقدار خالی (Null) داخل متغیر درج میشه ، حالا پایین تر شما نوشتید که بیا مقدار Id رو از این آرایه بگیر در صورتی که آراه خالیه ، و برای همین داره این خطا رو به شما میده.
باید حتما شرطی بنویسید که ببینه اگر مقدار متغییر user خالی بود ، خطای مرتبطی رو به کاربر نشون بده.
ممنون خیلی کمک کردین
متغیر $user اول رو باید به $users تغیر میدادم و داخل متغیر $user دوم داخلش که متغیر$user رو فراخوانی میکرد رو به $users تغیر دادم
و سیمی کالنه خط 29 رو برداشتم اوکی شد ممنون
@wpuser
خواهش میکنم
خداروشکر که درست شد.
اگر از بنده سوالاتی در مورد برنامه نویسی و یا ... دارید میتونید به لینک زیر مراجعه بکنید.
لینک سرور دیسکورد
@ehsndvr
ببخشید من دوباره به یک مشکل برخوردم
<?php
session_start();
include("db.php");
include("links.php");
$users = mysqli_query($connect, "SELECT * FROM users WHERE Id = '".$_SESSION["userId"]."' ")
or die("Failed to query database".mysql_error());
$user = mysqli_fetch_assoc($users);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>My chatbox</title>
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<p>Hi <?php echo $user["User"]; ?></p>
<input type="text" id="formUser" value=<?php echo $user["Id"]; ?> hidden />
<p>Send message to:</p>
<ul>
<?php
$msgs = mysqli_query($connect, "SELECT * FROM users")
or die("Failed to query database".mysql_error());
while($msg = mysqli_fetch_assoc($msgs))
{
echo '<li><a href="?toUser='.$msg["Id"].'">'.$msg["User"].'</a></li>';
}
?>
</ul>
<a href="index.php"><-- Back</a>
</div>
<div class="col-md-4">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<h4>
<?php
if (isset($_GET["toUser"]))
{
$userName = mysqli_query($connect, "SELECT * FROM users WHERE Id = '".$_GET["toUser"]."' ")
or die("Failed to query database".mysql_error());
$uName = mysqli_fetch_assoc($userName);
echo '<input type="text" value='.$_GET["toUser"].' id="toUser" hidden/>';
echo $uName["User"];
}
else
{
$userName = mysqli_query($connect, "SELECT * FROM users")
or die("Failed to query database".mysql_error());
$uName = mysqli_fetch_assoc($userName);
$_SESSION["toUser"] = $uName["Id"];
echo '<input type="text" value='.$_SESSION["toUser"].' id="toUser" hidden/>';
echo $uName["User"];
}
?>
</h4>
</div>
<div class="modal-body" id="msgBody" style="height:400px; overflow-y: scroll; overflow-x: hidden;">
<?php
if (isset($_GET["toUser"]))
$chats = mysqli_query($connect, "SELECT * FROM messages WHERE (FromUser = '".$_SESSION["userId"]."' AND ToUser = '".$_GET["toUser"]."') OR (FromUser = '".$_GET["toUser"]."' AND ToUser = '".$_SESSION["userId"]."') ")
or die("Failed to query database".mysql_error()); else
$chats = mysqli_query($connect, "SELECT * FROM messages WHERE (FromUser = '".$_SESSION["userId"]."' AND ToUser = '".$_SESSION["toUser"]."') OR (FromUser = '".$_SESSION["toUser"]."' AND ToUser = '".$_SESSION["userId"]."') ")
or die("Failed to query database".mysql_error());
while($chat = mysqli_fetch_assoc($chats))
{
if ($chat["FromUser"] == $_SESSION["userId"])
echo "<div style='text-align:left;'>
<p style=''background-color:yrllow; word-warp:break-word; display:inline-block; padding:5px;border-radius:10px; maxwidth:70%;'>
".$chat["Message"]."
</p>
</div>";
else
echo "<div style='text-align:right;'>
<p style=''background-color:lightblue; word-warp:break-word; display:inline-block; padding:5px;border-radius:10px; maxwidth:70%;'>
".$chat["Message"]."
</p>
</div>";
}
?>
</div>
<div class="modal-footer">
<textarea id="message" class="form-control" style="height:70px;"></textarea>
<button id="send" class="btn btn-primary" style="hright:70%;">send</button>
</div>
</div>
</div>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</body>
</html>
متن ارور:
Fatal error: Uncaught Error: Call to undefined function mysql_error() in C:\xampp\htdocs\New folder\chatbox.php:65 Stack trace: #0 {main} thrown in C:\xampp\htdocs\New folder\chatbox.php on line 65
یک تحقیق کردم متوجه شدم که mysql_error() منسوخ شده و بایداز mysqli_error() استفاده کنم و داخل وقتی اینکارو انجام دادم این ارور میاد
Failed to query databaseUnknown column 'FromUser' in 'where clause'
سلام به شما صبحتون بخیر
متن خطا میگه جدول به نام FromUser ندارید.
و فکر میکنم مشکل باید از این خط باشه :
$chats = mysqli_query($connect, "SELECT * FROM messages WHERE (FromUser = '".$_SESSION["userId"]."' AND ToUser = '".$_GET["toUser"]."') OR (FromUser = '".$_GET["toUser"]."' AND ToUser = '".$_SESSION["userId"]."') ")
یا این خط
$chats = mysqli_query($connect, "SELECT * FROM messages WHERE (FromUser = '".$_SESSION["userId"]."' AND ToUser = '".$_SESSION["toUser"]."') OR (FromUser = '".$_SESSION["toUser"]."' AND ToUser = '".$_SESSION["userId"]."') ")
or die("Failed to query database".mysql_error());
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟