/    Sign up×
Community /Pin to ProfileBookmark

Mysql_fetch_array problem

Sir, I am using these codes

[code=php]<?php
if(isset($_POST[‘login’])){
require_once(“connect.php”);
session_start();
// username and password sent from Form
$myusername=addslashes($_POST[‘username’]);
$mypassword=addslashes($_POST[‘password’]);
if(empty($myusername) || empty($mypassword))
{
echo ‘<script>alert(“User name and password must not be empty”)</script>’;
}else{
$query=”SELECT name FROM admin WHERE mobile='”.$myusername.”‘ and password='”.$mypassword. “‘”;
$result=mysql_query($query);
if(!$result)
{
echo “<script>alert(‘username, password query is not working well’)</script>” ;
}else{
echo “<script>alert(‘username, password query is working well’)</script>” ;
}
$row=mysql_fetch_array($result);
$count=mysql_num_rows($row);
if($count==1)
{
session_register(“myusername”);
$_SESSION[‘myusername’]=$myusername;
header(“location: welcome.php”);
}else {
$error=”Your Login Name or Password is invalid”;
}
}
}
?>[/code]

It is showing these two error messages as

( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:wampwwwPhonebooklogin.php on line 22
( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:wampwwwPhonebooklogin.php on line 23

Line=22
$row=mysql_fetch_array($result);

Line=23
$count=mysql_num_rows($row);

Please help me to locate what I am doing wrong?

to post a comment
PHP

4 Comments(s)

Copy linkTweet thisAlerts:
@chrisranjanaDec 10.2013 — It is good practice to escape column name with

<QUOTE>$query="SELECT <C>
name</C> FROM <C>admin</C> WHERE <C>mobile</C>='".$myusername."' and <C>password`='".$mypassword. "'";[/QUOTE]
Copy linkTweet thisAlerts:
@rossytzoltanDec 10.2013 — Those errors are being generated because the query itself is returning false, therefore $row is becoming NULL.

The query is: "SELECT name FROM admin WHERE mobile='".$myusername."' and password='".$mypassword. "'"

How has your "admin" table been structured in the database? Do you definately have the columns: name, mobile and password?
Copy linkTweet thisAlerts:
@rtretheweyDec 10.2013 — First of all, this:
<i>
</i>$count=mysql_num_rows($row);

should be:
<i>
</i>$count=mysql_num_rows($result);


And it's best to call mysql_num_rows() to make sure there are results before trying mysql_fetch_array().

But it's not clear why your call to mysql_fetch_array() is failing. You might change it to:
<i>
</i>$result = mysql_query($query) or die(mysql_error());

to make sure you don't have a syntax error in your SQL.
Copy linkTweet thisAlerts:
@NogDogDec 10.2013 — I often find it useful to include the query in the debug output, too.
[code=php]
$result = mysql_query($query) or die(mysql_error()."n$query");
[/code]

Of course, you don't want that sort of thing in the live site, so you'll want to make a more "graceful" error-handler before you go to production.
×

Success!

Help @tqmd1 spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...