🔥یلدا با راکت با (( ۷۰ درصد )) تخفیف! یلدا طولانی است، اما این تخفیف نه.
مشاهده دورههاسلام خسته نباشید
من دارم یک سایت طراحی میکنم با 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());
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟