محمد مهدی امیری
3 سال پیش توسط محمد مهدی امیری مطرح شد
9 پاسخ

ارور کشف نشده

@ehsndvr
@Nima.nori

سلام خسته نباشید ببخشید من وقتی کد رو اجرا میکنم ارور میده از خط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>

واقعا ممنون میشم کمکم کنید


ثبت پرسش جدید
نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش آپدیت شد
0

اول از همه بدون این ارور بخاطر اینه که از روش منسوخ استفاده می کنی بهتره از 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);
?> 

بهتره اینجوری اتصال رو انجام بدی برای نمایش ارور


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

کدی که شما دادین رو داخل 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() رو باید چیکار کنم
و چه کدی رو جایگزین کد منسوخ شده کنم


محمدرضا
تخصص : &lt;programmer/&gt;
@mrjazini.ir 3 سال پیش مطرح شد
1

سلام
فانکشن رو اشتباه نوشتی باید بنویسی
mysqli_error()


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش آپدیت شد
0

دوست عزیز یبار کد رو بخون اصلا

$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 تحقیق کنین که روش جدیدتر اتصال به دیتا بیس هست و متد هاش فرق داره وشی گرا هست (چی از این بهتر)


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

وقتی اونو مینویسم می‌گه خروجی صفر هستش ولی باید حداقل 1 باشه


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

منظور تابع mysqli_error() ارور هست یا کد ؟


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش آپدیت شد
0

ممنون من کد mysqli_error() رو با کد mysqli_connect_error() تعویض کردن درست شد ولی پیام که نوشتن رو نشون میده یعنی یکی از ستون های دیتابیس رو اشتباه سیو کردم


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش آپدیت شد
0

تنها ارور فعلی اینه:


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>


محمد مهدی امیری
تخصص : جوجه برنامه نویس PHP
@wpuser 3 سال پیش مطرح شد
0

خیلی خیلی ممنون مشکلم حل شد


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام