اتصال به mysql

(azar)

Member
سلام

با کمک شما من php 5 و سرور apache و mysql رو رو سیستم خودم نصب کردم .

php رو تست کردم کار میکنه . همینطور mysql . ولی برای اتصال به mysql کدهای زیر رو تو یه صفحه php قرار دادم وقتی اجراش میکنم هیچ چی رو صفحم نمی یاد . لطفا راهنماییم کنید .

ضمنا من تو php.ini در ردیف مربوط به اکستنشن msql.dll را فعال کردم یعنی آن را از حالت کامنت در آوردم.
PHP:
<?php
// Connecting, selecting database
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
   or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
?>
 

sama_sally

Member
احتمالا توجه کردی که کد رو اجرا نکردی ؟ ( منظورم اینه که فقط ذخیره کردی توی یه متغیر )
باید با عبارت شرطی اجراش کنی:
PHP:
<?php
$link = mysql_connect("localhost", "user", "password");
if($link) echo "Connected Successfully";
else die("Cannot Connect");
?>
در ضمن با این کار هیچ چیزی نباید روی صفحه ت بیاد، مگه وصل شدن به mysql نتیجه ظاهری داره؟؟؟
حالا باید یه کاری بکنی که ببینی وصل شده یا نه! (توی کد بالا من این کارو کردم)

این کد رو اجرا کن تا ببینی mysql کار میکنه یا نه!
 

(azar)

Member
نه این کار رو هم کردم بازم صفحه سفید میاد.


راستی تو فایل php.ini من تنظیمات پیش فرض برنامه رو تغییر ندادم . آیا آنها هم نیازی به تغییر داره . کدهاش رو جهت راهنمایی شما این زیر می زارم. از لطف شما هم ممنونم

کد:
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host = mysql_host

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user = 

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password = 

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off

[mSQL]
; Allow or prevent persistent links.
msql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
msql.max_persistent = -1

; Maximum number of links (persistent+non persistent).  -1 means no limit.
msql.max_links = -1
 

oxygenws

Active Member
1- error_reporting رو به E_ALL تغییر بدید.
2- display_errors (یا مشابهش!) رو هم on کنید.
 

(azar)

Member
اینهایی رو که شما فرمودید هر دوش به همان صورت بود . بازم درست نشد. برام خیلی مهمه لطفا به هر طریقی که می توانید مشکلم رو حل کنید. خواهش میکنم
 

sama_sally

Member
بهتر نیست یه برنامه رو که از mysql استفاده میکنه اجرا کنی؟
ببین درست کار می کنه یا نه؟
 

(azar)

Member
چشب این توصیه شما رو عمل می کنم و بعد مزاحم شما میشم . فقط یه سوال چرا نمایش خطاهای برنامه ام فعال نمیشه با توجه به اینکه error_reporting و display-error رو حالت درست قرار داره. ضمنا وقتی محتوای phpinfo رو باز میکنم اثری از جدول مربوط به mysql نیست؟
 

sama_sally

Member
فایل php.ini روی روی دسکتاپت کپی کن، ویرایشش کن بعد cut ش کن روی قبلی (REPLACE) و apache را از طریق منوی
PHP:
Start > All Programs > Apache Web Server > Restart
دوباره راه اندازی کن
بعد این کد رو اجرا کن
اگه با خطا مواجه شدی error_reporting درست کار میکنه:
PHP:
<?php
echo $sallar;
?>
 

(azar)

Member
سلام

این کاری رو که گفتید کردم ولی بازم خطایی نمی یاد و فقط صفحه سفید میاد. میشه من فایل php.ini خودم رو براتون میل بزنم تا ببینید مشکلش چیه؟
 

golden

Member
مطمئنی داری php.ini درست را تغییر می دی؟
آدرس php.ini مورد استفاده در php را میتونی با استفاده از خروجی phpinfo بدست بیاری.
 

sama_sally

Member
اگه سرورت ويندوز هست و خودت سرور رو پيكر بندي كردي - به احتمال زياد ميتوني php.ini رو از این آدرس پیدا کنی:
کد:
C:\Windows\php.ini
 

جدیدترین ارسال ها

بالا