با سلام
متاسفانه من در سیستم عامل مک با مشکلاتی مواجه شدم که هیچ جایی به پاسخ درست نرسیدم. پشتیبانی سون لرن این مشکلات رو از سیستم عامل مک میدونه، در حالی که در انجمن شرکت اپل کسی با این مشکلات مواجه نشده! پاسخ هایی هم که در استک اورفلو دیدم هیچکدوم مشکلات من رو حل نکرد
اولین مشکل: نرم افزار vscode رو نصب کردم و کد زیر رو اجرا میکنم
<?php
# MySQLi Connect
$mysqli = new mysqli("localhost","root","","world");
# Check The Connection
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli->connect_error;
exit();
}
# connection is ok here !
echo "Successfully connected to Database !" . PHP_EOL;
# Set Charset
$mysqli->set_charset("utf8");
print_r($mysqli);
حالا وقتی کد رو توی vscode اجرا میکنم اصلا به دیتابیس متصل نشده و ارور میده! (طبق تصویر p1 در فایل پیوست) این در حالی هست که کد من به دیتابیس متصل شده و توی مرورگر نتیجه موفقیت آمیز هست! (طبق تصویر p2 در فایل پیوست)
پس تا اینجای کار میشه نتیجه گرفت که ترمینال vscode من مشکل داره (در حالی که vscode در سیستم نصب شده، در applications قابل مشاهده هست و Shell command 'code' هم نصب شده! Shell command 'code' successfully installed in PATH.)
حالا میریم سراغ مشکل دوم:
من در قسمت اول به دیتابیس متصل شدم! حالا در قسمت دوم میخوام در حدول دیتابیس یه جدول ایجاد کنم (قسمت print_r در فایل conf.php رو کامنت کردم تا دیگه اجرا نشه.)
<?php
# create a connection first : $mysqli
include_once "conf.php";
# Create Tables
$sql = "
CREATE TABLE people(
id int PRIMARY KEY AUTO_INCREMENT
fullname varchar(128) ,
age tinyint UNSIGNED,
sex ENUM('f','m'),
isSingle boolean DEFAULT 1
);
";
// $sql = "DROP TABLE people";
if($mysqli->query($sql)){
echo "Table created successfully";
}else{
echo "Table is not created !!!";
}
من اینجا ترمینال vscode ندارم و فقط با مرورگر دارم کد رو اجرا میکنم! حالا خطای عجیبی که اینجا رخ میده اینه:
به دیتابیس متصل میشم! اما کوئری اجرا نمیشه (طبق تصویر p3 در فایل پیوست)
کد بالا دیشب یک بار اجرا شد. بعد از اون دیگه اصلا اجرا نمیشه (کد رو توی حلقه گذاشتم که ۵ تا جدول بسازه، دیگه اصلا کار نکرد)
از طریق ترمینال هم نمیتونم به دیتابیس موجود در xampp متصل بشم
سلام و احترام
لطفا شمارتونو قرار بدید تا من با شما هماهنگ کنم برای anydesk
سلام.
مورد اول بخاطر عدم تطابق ورژن PHP ترمینال و ورژن دیتابیس هست که علت و راه حلش داخل این تاپیک بررسی شده.
مورد دوم هم خطای گرامری دارید و یک علامت , بعد از AUTO_INCREMENT جا افتاده. درستش به شکل زیر هست:
# Create Tables
$sql = "
CREATE TABLE people(
id int PRIMARY KEY AUTO_INCREMENT,
fullname varchar(128) ,
age tinyint UNSIGNED,
sex ENUM('f','m'),
isSingle boolean DEFAULT 1
);
";
سلام و احترام
مورد اول:
برای دسترسی به mysql اول xampp خودتون رو باز کنید و روی گزینه open terminal بزنید تا terminal توی اون مسیر باز بشه، بعش با دستور mysql -u root -p میتونید به mysql دسترسی داشته باشید
مورد دوم:
برای اینکه debugger بتونه کد شما دیباگ کنه حتما قبلش کد خودتون رو save کنید و بعد روی دکه اجرا اکستنشن debugger بزنید تا شروع به debug کردن بکنه
تا به اینجای کار با کمک آقای صالحی که زحمت کشیدند و چند ساعت وقت شون رو در اختیارم گذاشتند، برخی مشکلات حل شده. همچنین کمک آقای موحد هم مثل همیشه خوب بود
حالا دوتا مشکل مونده:
۱- دیباگر vscode نمیتونه اتصال به دیتابیس رو شناسایی کنه
۲- نسخه php رو وقتی میخوام به 8 آپدیت کنم ارور میده (ارور رو پیوست کردم)