راکت
حل شده

ارور کشف نشده

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="https://roocket.ir/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>

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

ثبت پرسش جدید

پاسخ‌ها

9
.
.
@jwkwok
بهترین پاسخ

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

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

محمدرضا
محمدرضا
@mrjazini.ir

تخصص: &lt;programmer/&gt;

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

شاید پاسخ شما همین‌جا باشد

.
.
@jwkwok

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

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

.
.
@jwkwok

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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


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="https://roocket.ir/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>

محمد مهدی امیری
محمد مهدی امیری
@wpuser

تخصص: جوجه برنامه نویس PHP

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

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

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