handling a SELECT that returns nothing

handling a SELECT that returns nothing

am 27.04.2007 17:56:04 von Tim McGeary

--------------000304080805010308050001
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I am writing a web php application that is processing a request form.
There are multiple times when I need to check if a record exists (i.e.
user record) and if so, check the inputted data against the data already
in the database and confirm whether the inputted data should update the
database.

I am getting stuck in my check of whether a record yet exists. I
thought that $result in the code snippet below would be empty, so I
thought I could use the empty() function in an if conditional. But a
later conditional on the returned result of 0 never happened, so I
echoed the $result of the mysql_query.

I have a completely empty database and my initial test should load my
new record, but I am finding that the $result is being filled with

Resource id #4

from the mysql_query. Why? What does that mean? Why wouldn't it be
empty? And more importantly, how do I this check properly?

Thanks,
Tim

function record_exist($select_value, $search_value, $table, $field) {

$query = "SELECT $select_value FROM $table WHERE $field =
'{$search_value}'";

$result = mysql_query("SELECT $select_value FROM $table WHERE
$field='{$search_value}'") or die(mysql_error());

echo "$result"."
";

if (empty($result)) {
return 0;
}
else {
return $result;
}
}
?>


--------------000304080805010308050001
Content-Type: text/plain; charset=us-ascii

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--------------000304080805010308050001--

RE: handling a SELECT that returns nothing

am 27.04.2007 18:09:19 von MIGUEL ANTONIO GUIRAO AGUILAR

--Boundary_(ID_p6/P9Ahu8AvBcrsyZ8KHIw)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline



The mysql_query function executes a query againts a DBM and just that, it delivers the query to the DBM, if the DBM can execute the query, it returns a positive integer, if the DBM can not execute the query, it returns 0 or false, can't remember exactly right now.

So, it will return a positive integer no matter the query found any records at all, so you must use mysql_num_rows() in order to find out how many records the query returned.

------------------------------------------------
MIGUEL GUIRAO AGUILERA
Logistica R8 - Telcel
Tel: (999) 960.7994


Este mensaje es exclusivamente para el uso de la persona o entidad a quien esta dirigido; contiene informacion estrictamente confidencial y legalmente protegida, cuya divulgacion es sancionada por la ley. Si el lector de este mensaje no es a quien esta dirigido, ni se trata del empleado o agente responsable de esta informacion, se le notifica por medio del presente, que su reproduccion y distribucion, esta estrictamente prohibida. Si Usted recibio este comunicado por error, favor de notificarlo inmediatamente al remitente y destruir el mensaje. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Radiomovil Dipsa, S.A. de C.V. o alguna de sus empresas controladas, controladoras, afiliadas y subsidiarias. Este mensaje intencionalmente no contiene acentos.

This message is for the sole use of the person or entity to whom it is being sent. Therefore, it contains strictly confidential and legally protected material whose disclosure is subject to penalty by law. If the person reading this message is not the one to whom it is being sent and/or is not an employee or the responsible agent for this information, this person is herein notified that any unauthorized dissemination, distribution or copying of the materials included in this facsimile is strictly prohibited. If you received this document by mistake please notify immediately to the subscriber and destroy the message. Any opinions contained in this e-mail are those of the author of the message and do not necessarily coincide with those of Radiomovil Dipsa, S.A. de C.V. or any of its control, controlled, affiliates and subsidiaries companies. No part of this message or attachments may b
e used or reproduced in any manner whatsoever.


--Boundary_(ID_p6/P9Ahu8AvBcrsyZ8KHIw)
Content-Type: text/plain; charset=us-ascii

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--Boundary_(ID_p6/P9Ahu8AvBcrsyZ8KHIw)--

RE: handling a SELECT that returns nothing

am 27.04.2007 18:10:38 von MIGUEL ANTONIO GUIRAO AGUILAR

The mysql_query function executes a query againts a DBM and just that, it
delivers the query to the DBM, if the DBM can execute the query, it returns
a positive integer, if the DBM can not execute the query, it returns 0 or
false, can't remember exactly right now.

So, it will return a positive integer no matter the query found any records
at all, so you must use mysql_num_rows() in order to find out how many
records the query returned.

-----Original Message-----
From: Tim McGeary [mailto:tmm8@Lehigh.EDU]
Sent: Viernes, 27 de Abril de 2007 10:56 a.m.
To: php-db@lists.php.net
Subject: [PHP-DB] handling a SELECT that returns nothing


I am writing a web php application that is processing a request form.
There are multiple times when I need to check if a record exists (i.e.
user record) and if so, check the inputted data against the data already
in the database and confirm whether the inputted data should update the
database.

I am getting stuck in my check of whether a record yet exists. I
thought that $result in the code snippet below would be empty, so I
thought I could use the empty() function in an if conditional. But a
later conditional on the returned result of 0 never happened, so I
echoed the $result of the mysql_query.

I have a completely empty database and my initial test should load my
new record, but I am finding that the $result is being filled with

Resource id #4

from the mysql_query. Why? What does that mean? Why wouldn't it be
empty? And more importantly, how do I this check properly?

Thanks,
Tim

function record_exist($select_value, $search_value, $table, $field) {

$query = "SELECT $select_value FROM $table WHERE $field =
'{$search_value}'";

$result = mysql_query("SELECT $select_value FROM $table WHERE
$field='{$search_value}'") or die(mysql_error());

echo "$result"."
";

if (empty($result)) {
return 0;
}
else {
return $result;
}
}
?>




Este mensaje es exclusivamente para el uso de la persona o entidad a quien esta dirigido; contiene informacion estrictamente confidencial y legalmente protegida, cuya divulgacion es sancionada por la ley. Si el lector de este mensaje no es a quien esta dirigido, ni se trata del empleado o agente responsable de esta informacion, se le notifica por medio del presente, que su reproduccion y distribucion, esta estrictamente prohibida. Si Usted recibio este comunicado por error, favor de notificarlo inmediatamente al remitente y destruir el mensaje. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Radiomovil Dipsa, S.A. de C.V. o alguna de sus empresas controladas, controladoras, afiliadas y subsidiarias. Este mensaje intencionalmente no contiene acentos.

This message is for the sole use of the person or entity to whom it is being sent. Therefore, it contains strictly confidential and legally protected material whose disclosure is subject to penalty by law. If the person reading this message is not the one to whom it is being sent and/or is not an employee or the responsible agent for this information, this person is herein notified that any unauthorized dissemination, distribution or copying of the materials included in this facsimile is strictly prohibited. If you received this document by mistake please notify immediately to the subscriber and destroy the message. Any opinions contained in this e-mail are those of the author of the message and do not necessarily coincide with those of Radiomovil Dipsa, S.A. de C.V. or any of its control, controlled, affiliates and subsidiaries companies. No part of this message or attachments may b
e used or reproduced in any manner whatsoever.

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: handling a SELECT that returns nothing

am 27.04.2007 18:36:37 von Tim McGeary

--------------050100030704030708000707
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Thanks!

Tim

Miguel Guirao wrote:
>
> The mysql_query function executes a query againts a DBM and just that, it
> delivers the query to the DBM, if the DBM can execute the query, it returns
> a positive integer, if the DBM can not execute the query, it returns 0 or
> false, can't remember exactly right now.
>
> So, it will return a positive integer no matter the query found any records
> at all, so you must use mysql_num_rows() in order to find out how many
> records the query returned.
>
> -----Original Message-----
> From: Tim McGeary [mailto:tmm8@Lehigh.EDU]
> Sent: Viernes, 27 de Abril de 2007 10:56 a.m.
> To: php-db@lists.php.net
> Subject: [PHP-DB] handling a SELECT that returns nothing
>
>
> I am writing a web php application that is processing a request form.
> There are multiple times when I need to check if a record exists (i.e.
> user record) and if so, check the inputted data against the data already
> in the database and confirm whether the inputted data should update the
> database.
>
> I am getting stuck in my check of whether a record yet exists. I
> thought that $result in the code snippet below would be empty, so I
> thought I could use the empty() function in an if conditional. But a
> later conditional on the returned result of 0 never happened, so I
> echoed the $result of the mysql_query.
>
> I have a completely empty database and my initial test should load my
> new record, but I am finding that the $result is being filled with
>
> Resource id #4
>
> from the mysql_query. Why? What does that mean? Why wouldn't it be
> empty? And more importantly, how do I this check properly?
>
> Thanks,
> Tim
>
> > function record_exist($select_value, $search_value, $table, $field) {
>
> $query = "SELECT $select_value FROM $table WHERE $field =
> '{$search_value}'";
>
> $result = mysql_query("SELECT $select_value FROM $table WHERE
> $field='{$search_value}'") or die(mysql_error());
>
> echo "$result"."
";
>
> if (empty($result)) {
> return 0;
> }
> else {
> return $result;
> }
> }
> ?>
>
>
>
>
> Este mensaje es exclusivamente para el uso de la persona o entidad a quien esta dirigido; contiene informacion estrictamente confidencial y legalmente protegida, cuya divulgacion es sancionada por la ley. Si el lector de este mensaje no es a quien esta dirigido, ni se trata del empleado o agente responsable de esta informacion, se le notifica por medio del presente, que su reproduccion y distribucion, esta estrictamente prohibida. Si Usted recibio este comunicado por error, favor de notificarlo inmediatamente al remitente y destruir el mensaje. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Radiomovil Dipsa, S.A. de C.V. o alguna de sus empresas controladas, controladoras, afiliadas y subsidiarias. Este mensaje intencionalmente no contiene acentos.
>
> This message is for the sole use of the person or entity to whom it is being sent. Therefore, it contains strictly confidential and legally protected material whose disclosure is subject to penalty by law. If the person reading this message is not the one to whom it is being sent and/or is not an employee or the responsible agent for this information, this person is herein notified that any unauthorized dissemination, distribution or copying of the materials included in this facsimile is strictly prohibited. If you received this document by mistake please notify immediately to the subscriber and destroy the message. Any opinions contained in this e-mail are those of the author of the message and do not necessarily coincide with those of Radiomovil Dipsa, S.A. de C.V. or any of its control, controlled, affiliates and subsidiaries companies. No part of this message or attachments may
be used or reproduced in any manner whatsoever.
>


--------------050100030704030708000707
Content-Type: text/plain; charset=us-ascii

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--------------050100030704030708000707--