خطا در هنگام اجرای دستورات PHP
سلام خدمت همه دوستام
کدی رو نوشتم که احراز هویت شخص رو تعیین می کنه وقتی اجرا می شه خطای زیر رو می ده. هر کجا که گشتم روش نوشتن کد به همین صورت بود؛ ولی این خطا رو میده.
mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\login.php on line 24
نقل قول: خطا در هنگام اجرای دستورات PHP
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbshare',$connect);
if (!isset($_POST['user']))
exit();
$user = $_POST['user'];
$pass = $_POST['pass'];
$user = trim($user);
$sql="SELECT 'password'
FROM 'users'
WHERE 'username'= '$user'";
$result=mysql_query($sql);
if( mysql_num_rows($result)==1 && mysql_result($result,0)==$pass)
{
header("location:admin.php");
}
else
{
die("THE Username and/or password is incorrect !");
}
?>
نقل قول: خطا در هنگام اجرای دستورات PHP
فکر کنم کوئری شما اشتباه باشه و خیلی چیرایه دیگه..
نقل قول: خطا در هنگام اجرای دستورات PHP
شما result را چاپ کنید ببینید چه ساختاری دارد.
نقل قول: خطا در هنگام اجرای دستورات PHP
چقدر از کوتیشن توی کوئری استفاده می کنید؟ غیر از مورد آخری بقیه لازم نیستند.
نام جدول رو داخل کوتیشن نگذارید:
$sql="SELECT 'password'
FROM users
WHERE 'username'= '$user'";
نقل قول: خطا در هنگام اجرای دستورات PHP
اگه توی قسمت شرط ، به جای متغیر از یک رشته که توی پایگاه داده هم هست استفاده کنم برنامه جواب می ده ولی برای متغیر جواب نمی ده.
لطفا راهنمایی کنید
$sql="SELECT 'password'
FROM users
WHERE 'username'= 'ali'";
نقل قول: خطا در هنگام اجرای دستورات PHP
متغیر و رشته تفاوتی نداره.
یه نکته در ارتباط با کدهاتون. تابع isset وجود یک متغیر رو چک می کنه نه مقدارش رو. وقتی فرمی submit میشه، همه فیلدهای textاش توی مثلا POST_$ ساخته میشه ولی خالی هاش مقدار نداره. این یعنی اگر فیلد user توی فرم دارید. تابع isset در خط زیر هیچ وقت false نمیده:
if (!isset($_POST['user']))
نقل قول: خطا در هنگام اجرای دستورات PHP
$sql="SELECT 'password'
FROM 'users'
WHERE 'username'= '$user'";
query بالا اشتباه است
در نام فيلد ها نبايد از كوتيشن استفاده كني
query صحيح
$sql="SELECT `password`
FROM `users`
WHERE `username`= '$user'";
نقل قول: خطا در هنگام اجرای دستورات PHP
query رو به این صورت تغییر دادم درست شد.
$sql = "SELECT 'password' FROM `users` WHERE `username` = '".$user."' AND `password` = '".$pass."' ";
نقل قول: خطا در هنگام اجرای دستورات PHP
من وقتی از این کد یا هر کد دیگر که بهMySql نیاز دارد را می نویسم خطای زیر را می گیرد.
;(" ","mysql = mysql_connect("localhost", "root$
خطا:
Fatal error: Call to undefined function mysql_connect() in C:\inetpub\wwwroot\home\index.php on line 10
من از IIS و PHP5 و mysql5 استفاده می کنم و فکر می کنم PHP و MySQL یکدیگر را نمی شناسند و این خطا اتفاق می افتد. حالا شما می توانید مرا کمک کنید؟
نقل قول: خطا در هنگام اجرای دستورات PHP
نقل قول:
نوشته شده توسط
puma2007
من وقتی از این کد یا هر کد دیگر که بهMySql نیاز دارد را می نویسم خطای زیر را می گیرد.
;(" ","mysql = mysql_connect("localhost", "root
لطفا سوالتون رو توی تاپیک دیگران نپرسید
اما بنده فکر کمی کنم علت اینه که شما دارید یک space رو به عنوان پسوورد ارسال می کنید
اون فاصله رو بردارید احتمالا درست می شه.