Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 8 years ago.
Improve this question
require("./connect.php");
$getid = $_GET['id'];
$getusername = mysql_query("SELECT username FROM user WHERE id='$getid'");
$getdesc = mysql_query("SELECT description FROM user WHERE id='$getid'");
echo "$getusername $getdesc";
I am having trouble, it is not echoing the data from those variables. I is returning resource id #10 and #11.
You need to fetch the data first before you can use the mysql_query result...
please see the example in the PHP Documentation
https://php.net/manual/en/function.mysql-fetch-row.php
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
echo $row[0]; // 42
echo $row[1]; // the email value
?>
Warning:
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used.
pdo : https://php.net/manual/en/book.pdo.php
mysqli : http://www.php.net//manual/en/book.mysqli.php
You are trying to print out the resource ID of the query you just ran.
To get to the actual results you have to specifically request it.
mysql_fetch_assoc($getusername); //should be used!
Related
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 5 years ago.
Improve this question
I need get Data form mySql and echo it . but show to me error ! please help me . I am amator . please check my code. (get Data form mySql and echo it - PHP)
my error in $result1=mysqli_query($link,$query1);
my PHP file :
<?php
$post_data=#$_POST['myjson'];
$post_data=json_decode($post_data,true);
$command=$post_data['command'];
$server="localhost";
$user="user";
$pass="pass";
$db="db";
$link=mysqli_connect($server,$user,$pass,$db);
mysqli_set_charset($link,"utf8");
if ($command=="get_contact") {
$id=$post_data['id'];
$query="select * from ad where id=$id";
$result=mysqli_query($link,$query);
$row=mysqli_fetch_assoc($result);
$num=mysqli_num_rows($result);
if ($num == 1) {
$query1="select * from user where id=$row['user_id']";
$result1=mysqli_query($link,$query1);
$row1=mysqli_fetch_assoc($result1);
$num1=mysqli_num_rows($result1);
if ($num1 == 1) {
$specifications=array("mobile"=>$row1["mobile"], "email"=>$row1["email"]);
echo "<b>".json_encode($specifications)."</b>";
} else {
echo "<b>Not Found</b>";
}
} else {
echo "<b>Not Found</b>";
}
exit();
}
?>
If you expect just one result of each query, you can get the same results with just one query instead of the two you have:
$query = "select user.* from user, ad where ad.id=$id and user.id = ad.user_id";
Also, you should use prepared statements to avoid sql injection instead of writing vars inside the sql queries.
Besides that, give more info in the error messages because now you don't know which error is returning.
Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
So basically I got this code right here:
<?php
include_once 'dbconfig2.php';
$con = new DB_con();
$table = "users";
if(isset($_GET['profile_id']))
{
$sql=mysql_query("SELECT * FROM users WHERE user_id=".$_GET['profile_id']);
$result=mysql_fetch_array($sql);
}
?>
I am clueless as to how I would make it so if the user_id is not existent in the records, they cannot view their profile but it leads them to another messsage or piece of code.
If the user_id doesn't exist, there won't be any rows in the result. When you try to read a row with mysql_fetch_array(), it returns FALSE. So you can simply test $result:
if (!$result) {
die("Invalid profile ID");
}
Try to use prepared statements using mysqli, in order to avoid sql injection.
By way of example:
$mysqli = new mysqli("localhost", "root", "root", "test");
if ($mysqli->connect_errno) {
echo "connect_error". $mysqli->connect_error;
}
$id = $_GET['profile_id'];
$result = $mysqli->prepare('SELECT name FROM users WHERE user_id = ?');
$result->bind_param("i", $id);
$result->execute();
$result->bind_result($col1);
$result->fetch();
$is_valid_profile = (!$col1) ? 'Invalid profile' : 'Valid profile';
echo $is_valid_profile;
$result->close();
http://php.net/manual/en/mysqli.prepare.php
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
Closed 8 years ago.
Improve this question
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='$_POST[libid]'");
$rowcount=mysqli_num_rows($result);
if($rowcount==1)
{
while($row = mysqli_fetch_array($result))
{
$libid=$row['libid'];
$regno= $row['regno'] ;
$name= $row['stuname'] ;
$branch= $row['branch'] ;
$semester= $row['semester'] ;
$section= $row['section'] ;
$yearofadm= $row['yearofadm'];
}
}
Dont post anything directly in database as its a threat to data security (SQL Injection)
$libid = $_POST['libid'];
$libid = mysqli_real_escape_string($connection, $libid);
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='".$libid."'");
Make sure that your mysql field is really libsutdent. Seems like it should be libstudent.
Then Place {} around your Post variable. ie {$_POST[\"libid\"]}.
Conversely you can place another step in your code like:
$libid = $_POST["libid"];
I think you can do without the quotes around libid, but I always think it reads better to add them.
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='$_POST[libid]'");
Should be
$result = mysqli_query($connection,"SELECT * FROM libsutdent where libid='".mysql_real_escape_string($_POST['libid'])."'");
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
With the following PHP code, how do i check if there's no row retuned so i can echo some message?
PHP:
<?php
require_once 'db_conx.php';
$Result = mysql_query("SELECT * FROM ads WHERE pid = '2'")
or die (mysql_error());
while($row = mysql_fetch_array($Result)){
echo '<span class="classPid" style="display:none">'.$row['pid'].'</span>';
}
?>
Thanks
There are a number of ways to do this. There is a specific function mysql_num_rows() which will return the number of rows returned.
mysql_num_rows($Result);
This will return 0 if there are no rows affected or returned.
You could also create some conditions using mysql_fetch_array. mysql_fetch_array will return FALSE if there are no rows.
On a separate note it would be a good idea to update your connection
and functions to mysqli as mysql is no depreciated.
See docs on mysql_num_rows().
http://www.php.net/mysql_num_rows
Something like this
<?php
require_once 'db_conx.php';
$Result = mysql_query("SELECT * FROM ads WHERE pid = '2'")
or die (mysql_error());
$i=0;
while($row = mysql_fetch_array($Result)){
echo "<span class='classPid' style='display:none'>".$row['pid']."</span>";
$i++;
}
if($i==0){
echo "No rows found";
}
?>
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
Closed 8 years ago.
Improve this question
What's wrong with this?
$result = mysql_query("SELECT * FROM users WHERE username='$username'");
$row = mysql_fetch_row("$result");
$id = $row[2];
$row = mysql_fetch_row($result);
when you use a variable inside a double quoted string it will be casted to a string. and you cannot pass mysql_fetch_result a string, but only a mysql result
The following statement:
$row = mysql_fetch_row("$result");
must be like this:
$row = mysql_fetch_row($result);
please correct this line
$row = mysql_fetch_row("$result");
to
$row = mysql_fetch_row($result);
and you should be good to go
U dont need the "s for the variable in 2nd line...try debugging using var_dump in each step and see where the error is coming in these kinds of situations. U can also see if the query had any problems by doing this
$result = mysql_query("SELECT * FROM users WHERE username='$username' ") or die("Error with query");
Try this
$result = mysql_query("SELECT * FROM users WHERE username='".$username."'");
$row = mysql_fetch_row($result);