سلام خسته نباشید ببخشید من وقتی کد رو اجرا میکنم ارور میده از خط68
متن ارور
Fatal error: Uncaught Error: Call to undefined function mysql_error() in C:\xampp\htdocs\New folder\chatbox.php:68 Stack trace: #0 {main} thrown in C:\xampp\htdocs\New folder\chatbox.php on line 68
کد
<?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>
<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>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="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>
<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:right;'>
<p style='backgroun-color:lightblue; word-wrap:break-word; display:inline-block; padding:5px; border-radius:10px; max width:70%;'>
".$chat["Message"]."
</p>
</div>";
else
echo "<div style='text-align:left;'>
<p style='backgroun-color:yellow; word-wrap:break-word; display:inline-block; padding:5px; border-radius:10px; max width:70%;'>
".$chat["Message"]."
</p>
</div>";
}
?>
</div>
<div class="modal-footer">
<textarea id="message" class="from-control" style="height: 70px;" ></textarea>
<button id="send" class="btn btn-primary"> style="height:70%;"send</button>
</div>
</div>
</div>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</body>
</html>
واقعا ممنون میشم کمکم کنید
اول از همه بدون این ارور بخاطر اینه که از روش منسوخ استفاده می کنی بهتره از PDO استفاده کنی هم راحت تره هم امن تر
برگردیم سر ارور : ارور گفته شما تابعی رئ صدا کردین که وجود نداره یعنی بچی اتصال به دیتابیس غلط در اومده و رفته تابع رو صدا بزنه و تو اونجا اسم تابع رو اشتباه نوشتی تمام مشکل اشتباه تایپیه
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
// Perform a query, check for error
if (!mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')")) {
echo("Error description: " . mysqli_error($con));
}
mysqli_close($con);
?>
بهتره اینجوری اتصال رو انجام بدی برای نمایش ارور
کدی که شما دادین رو داخل db.php قرار دادم این ارور اومد
Error description: Table '12.persons' doesn't exist
Warning: mysqli_query(): Couldn't fetch mysqli in C:\xampp\htdocs\New folder\chatbox.php on line 6
Warning: mysqli_error(): Couldn't fetch mysqli in C:\xampp\htdocs\New folder\chatbox.php on line 7
Failed to query database
من اصلا جدول 12.persons رو صدا نزدم
بعد mysqli_query() رو باید چیکار کنم
و چه کدی رو جایگزین کد منسوخ شده کنم
دوست عزیز یبار کد رو بخون اصلا
$con=mysqli_connect("localhost","my_user","my_password","my_db");
اینجا جاهای مختلف رو با مال خودتون عوض کنین مثلا myuser رو با روت جا بجا کنین
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
اینجا رو تغییر ندین اینجا ارورو رو نشون میده مثلا میگه این یوزرنیم وجود نداره که با هاش لاگین کنم تو دیتابیس
mysqli_query($con,"INSERT INTO Persons (FirstName) VALUES ('Glenn')")
}
اینجا متغیر دوم کوعری برای دیتا بیستون رو بزارین
در ضمن گفتم که توی اولین پاسخ شما یه اشتباه تایپی داری که mysqlierror() رو به اشتباه mysqlerror() نوشته بودی
کدی فرستادم ریفکتور شده ی کدتون برای درک بهتر کد بود
همچنین برین درباره PDO تحقیق کنین که روش جدیدتر اتصال به دیتا بیس هست و متد هاش فرق داره وشی گرا هست (چی از این بهتر)
ممنون من کد mysqli_error() رو با کد mysqli_connect_error() تعویض کردن درست شد ولی پیام که نوشتن رو نشون میده یعنی یکی از ستون های دیتابیس رو اشتباه سیو کردم
تنها ارور فعلی اینه:
Warning: mysqli_query(): Couldn't fetch mysqli in C:\xampp\htdocs\New folder\chatbox.php on line 6
Failed to query database
کد:
<?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" .mysqli_connect_error());
$user = mysqli_fetch_assoc($users);
?>
<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>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="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" .mysqli_connect_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" .mysqli_connect_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" .mysqli_connect_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" .mysqli_connect_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".mysqli_connect_error());
while($chat = mysqli_fetch_assoc($chats))
{
if($chat["FromUser"] == $_SESSION["userId"])
echo "<div style='text-align:right;'>
<p style='backgroun-color:lightblue; word-wrap:break-word; display:inline-block; padding:5px; border-radius:10px; max width:70%;'>
".$chat["Message"]."
</p>
</div>";
else
echo "<div style='text-align:left;'>
<p style='backgroun-color:yellow; word-wrap:break-word; display:inline-block; padding:5px; border-radius:10px; max width:70%;'>
".$chat["Message"]."
</p>
</div>";
}
?>
</div>
<div class="modal-footer">
<textarea id="message" class="from-control" style="height: 70px;" ></textarea>
<button id="send" class="btn btn-primary"> style="height:70%;"send</button>
</div>
</div>
</div>
</div>
<div class="col-md-4">
</div>
</div>
</div>
</body>
</html>
کد دیتابیس:
<?php
$connect = mysqli_connect("localhost", "root", "", "12");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
mysqli_close($connect);
?>
</body></html>
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟