خطای اتصال به پایگاه داده در PHP

- 2 هفته پیش
توسط رایموند دراگون آپدیت شد
رایموند دراگون ( 34748 تجربه )
3 هفته پیش

درود دوستان...
می خوام پروژه ای با PHP خام بنویسم که هر کاری می کنم به پایگاه داده وصل نمیشه!
وب سرور Lamp لینوکس می باشد.
کد اتصال به پایگاه داده :

<?php
$dbhost ="localhost";
$dbuser ="cmss";
$dbname ="cms";
$dbpass =123456;

$connect_db = mysqli_connect($dbuser, $dbname, $dbpass);

if ($connect_db) {
    echo"اتصال به پایگاه داده با موفقیت انجام شد.";
}else{
    echo"خطا در اتصال به پایگاه داده";
}
?>
بهترین پاسخ انتخاب شده توسط رایموند دراگون
رایموند دراگون
2 هفته پیش

از طریق PDO وصل شدم:

<?php
$servername = "localhost";
$username = "cmss";
$password = "123456";

try {
    $conn = new PDO("mysql:host=$servername;dbname=cms", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "با موفقیت به پایگاه داده متصل شد"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>
داود خانی ( 1253 تجربه )
3 هفته پیش

سلام خسته نباشی تو terminal بزن sudo mysql ببین نصبه
اگه سوالی داشتی در خدمتم منم این مشکلو داشتم تو لینوکس یادم نیست چطور پیداش کردم باید ارورتو ببینم.
https://t.me/davoodkhany72

رایموند دراگون ( 34748 تجربه )
3 هفته پیش

@davoodkhany
درود...
وب سرور Lamp همراه با Mysql نصب است:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
داود خانی ( 1253 تجربه )
3 هفته پیش

کانکش باید به این صورت باشه تا اونجایی که می دونم .
mysql_connect=mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname")

رایموند دراگون ( 34748 تجربه )
3 هفته پیش

@davoodkhany

کار نکرد...

داود خانی ( 1253 تجربه )
2 هفته پیش

sudo systemctl status apache2
وضعیت آپاچی رو ببین

رایموند دراگون ( 34748 تجربه )
2 هفته پیش

@davoodkhany
فعال است:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Wed 2019-01-30 08:40:46 +0330; 2h 4min ago
  Process: 952 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 1133 (apache2)
    Tasks: 9 (limit: 4579)
   CGroup: /system.slice/apache2.service
           ├─1133 /usr/sbin/apache2 -k start
           ├─1141 /usr/sbin/apache2 -k start
           ├─1142 /usr/sbin/apache2 -k start
           ├─1143 /usr/sbin/apache2 -k start
           ├─1144 /usr/sbin/apache2 -k start
           ├─1145 /usr/sbin/apache2 -k start
           ├─6532 /usr/sbin/apache2 -k start
           ├─6533 /usr/sbin/apache2 -k start
           └─6534 /usr/sbin/apache2 -k start
داود خانی ( 1253 تجربه )
2 هفته پیش
sudo systemctl status mysql
رایموند دراگون ( 34748 تجربه )
2 هفته پیش

@davoodkhany
Mysql فعال است:

● mariadb.service - MariaDB 10.1.34 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-01-30 08:40:49 +0330; 2h 17min ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 1224 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 1211 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 985 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemc
  Process: 970 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 955 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 1129 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4579)
   CGroup: /system.slice/mariadb.service
           └─1129 /usr/sbin/mysqld
داود خانی ( 1253 تجربه )
2 هفته پیش

دیگه نمی دونم چه مشکلی باید باشه ولی من اخرین بار که دیگه نتونستم درستش کنم اومدم nginx نصب کردم الانم دارم ازش استفاده می کنم نه lamp نه زمپی چیزی شما هم می تونید nginx نصب کنید باز بگردید دنبال راه حل نتونستید nginx نصب کنید.البته تو سایتهای برون مرزی

Javad jafariniya ( 172 تجربه )
2 هفته پیش

خب شما باید پسورد رو داخل رشته قرار بدی
اینجوری
"123456"
@RaymondDragon

رایموند دراگون ( 34748 تجربه )
2 هفته پیش

@javad1994ma
امتحان کردم ... متصل نمیشه.

رایموند دراگون ( 34748 تجربه )
2 هفته پیش

از طریق PDO وصل شدم:

<?php
$servername = "localhost";
$username = "cmss";
$password = "123456";

try {
    $conn = new PDO("mysql:host=$servername;dbname=cms", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "با موفقیت به پایگاه داده متصل شد"; 
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>
برای ارسال پاسخ باید وارد سایت شوید