💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ سیدرضا بازیار
نیازمند کمک پشتیبانی سون لرن برای حل مشکل vscode در mac
جامعه پی اچ پی ایجاد شده در ۲۲ بهمن ۱۳۹۹

با سلام

متاسفانه من در سیستم عامل مک با مشکلاتی مواجه شدم که هیچ جایی به پاسخ درست نرسیدم. پشتیبانی سون لرن این مشکلات رو از سیستم عامل مک میدونه، در حالی که در انجمن شرکت اپل کسی با این مشکلات مواجه نشده! پاسخ هایی هم که در استک اورفلو دیدم هیچکدوم مشکلات من رو حل نکرد

 

اولین مشکل: نرم افزار 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 آپدیت کنم ارور میده (ارور رو پیوست کردم)

سیدرضا بازیار ۲۲ بهمن ۱۳۹۹، ۲۱:۱۷