ايران ويج

نسخه‌ی کامل: مشکل سلکت با php
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان راهنمائی بفرمایند من با php اصلا کار نکردم ولی مجبور شدم
حالا گیر افتادم
ببینید مشکل این فرم چی هست
که جواب نمیده ممنون


کد php:
<?php


echo"test";
$hostname="38.117.97.100";
$username="kimia";
$password="11111";
$database="kimia";

$con=mysql_connect("$hostname"$username"$password);


2.mysql_select_db('kimia',$con); 
3.$query="SELECT * FROM t1"
4.$select=mysql_query($query); 
5.while($row=mysql_fetch_array($select)){ 
6.echo $row['id1'].' - '.$row['name1'].' - '.$row['fname1'].'<br>'
7.
8.mysql_close($con);


?>

php کارهای عزیز تشریف ندارن؟
میخوام یه فرم اشتراک با phpبنویسم کسی هست این فرم رو بسازه وجهش هم نقدا به حسابش واریز میکنم
با دات نت هم مشکلی نیست اگه کسی میتونه راه بندازه خریدارم
اون شماره خطها برداشتی ؟
1. 2. 3. ...
بردار ؛

ارورش چیه ؟
اره عزیزم برداشتم
اصلا هیچ چیزی نشون نمیده مثل اینکه به شبکه وصل نباشی
حتی echo هم نشون نمیده اما اگه بعد از کانکشن رو بردارم همه چی درست میشه یعنی دستور سلکته داره گیر میده نه کانکشن

این دستور که بکار بردی :
کد php:
$row=mysql_fetch_array($select
مقادیر را توی یه آرایه ذخیره میکنه ؛ یعنی الا row$ یک آرایست ؛
پس اینطور باید صداش کنی :
کد php:
echo $row[1];
echo 
$row[2]; 

بقیه دستورات مشکل ندارن ؛
سلام ممنون از همکاریت
دوست من
من این کد رو تغیر دادم به صورت زیر اما باز هم نشد
کد php:
<?php


echo"aaaaaaaaaaaaa";
$hostname="38.117.97.100";
$username="kimia";
$password="444444";
$database="kimia";

$con=mysql_connect("$hostname"$username"$password);


mysql_select_db('kimia',$con); 
$query="SELECT * FROM t1"
$select=mysql_query($query); 
while(
$row=mysql_fetch_array($select)){ 
echo 
$row(1); 

mysql_close($con);



echo 
$row(2);

?>

در خروجی فقط aaaaaa رو چاپ میکنه البته همه یکد اجرا میشه بدون خطا
ولی اصلا ساکت نمیکنه
نمیدونم چشه گیج شدم
میخوای ادرس و یوزر وپس رو بدم اگه وقت کردی یه نگاه بهش بنداز
ممنون
دوستان کسی نیست کاره منم راه بندازه
خروجی شما همه چیز هات توشه احتمالا . از تابع print_r استفاده کن ببین تو آرایت چه چیز هایی هست. بعد اگر کل اون چیز هایی که می خواستی بود. از یه foreach استفاده کن یا از for. مثل کد زیر.

کد:
for($i=0;$i<count($row);$i++){
echo $row[$i];
}
مرسی اما بازهم جواب نداد
ببین درست نوشتم
کد php:
$con=mysql_connect("$hostname"$username"$password);


mysql_select_db('kimia',$con); 
$query="SELECT * FROM t1"
$select=mysql_query($query); 
while(
$row=mysql_fetch_array($select)){ 
echo 
$row(1); 

mysql_close($con);



print_r($row); 
سلام

بیان بفرمائید که میخواهید چکار کنید قدم به قدم

من همه اینها را یکجا آماده می کنم میزارم.

موفق باشید.
کد php:
echo $row(1); 
عرض کردم اینطور بنویسید :
کد php:
echo $row[1]; 
ببین چون بحثه پوله اونم نقدی فقط راهنمائیت میکنم آ Biggrin
اول تابع mysql_select_db نیاز داره که مقدار بازگشتیش را بریزی توی یه متغییر همینطوری که ولش نمیکنن ( فقط جنبه رعایت اصول ایمنی داشت و الا بود و نبودش فرقی نداره ) که باید چک هم بکنی موفق شده به دیتابیس وصل بشه یا نه

کد php:
function selectdb($conn){
$db_selected mysql_select_db('db_amozesh'$conn);
if (!
$db_selected) {
 die (
'Can\'t use foo : ' mysql_error());
 }


اما مسئله بعدی که یک ایراد تجربی هست ، تابع کانکت هست ، مقادیری که توی متغییر ها نوشتی را به جای استفاده از متغییر ، مستقیم در نام دیتابیس بنویس ( بعضی کانفیگ های php.ini موجب این قضیه میشه علتشم نفهمیدم)
یعنی میشه
کد php:
$con=mysql_connect('192.168.1.1' 'myuser' 'passwd' ); 
توی تک کوتیشن ' بزار

این تابع را هم بعدش بنویس که مطمئن باشی همیشه ارتباط برقرار هست با سرور
کد php:
if (!$con) {
    die(
'Could not connect: ' mysql_error());



اما تابع بعدی
کد php:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) { 
اینو MYSQL_ASSOC اضافه کن احتمالا درست میشه ( یاMYSQL_BOTH )
در ضمن نیازی نیست با شماره ایندکس row به فیلدها دسترسی داشته باشند ، وقتی برنامه سنگین بشه آدم گیج میشه اینطوری بهتره با استفاده از اسم فیلدها در دیتابیس به مقادیر دسترسی داشته باشیم( البته شما رعایتش کردی،همینطوری گفتم این وسط)
کد php:
while ($row mysql_fetch_array($resultMYSQL_ASSOC)) {
 
$fname $row["FNAME"];


}
 return 
$fname;
 } 

برای چاپ هم میتونی بنویسی
کد php:
print $row["FNAME"

پیوست : تمام توابع بالا که شما استفاده کردی بهتری توابع چک خطا را هم بعد ازهرکدوم بنویسی که مشخص بشه دقیقا کدوم تابعت داره قاط میزنه

جهت اطمینان این خط را هم اول برنامه ات اضافه کن که خطاهای رخ داده را نمایش بده
کد php:
ini_set('display_errors','ALL'); 

در ضمن اگه تیبل t1 حجم رکوردها زیاد باشه با این تابع شما ممکنه فایل php تایم اوت بشه و عملا چیزی نبینید.

چیزی باقی نموند فکر کنم Biggrin