472,145 Members | 1,465 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,145 software developers and data experts.

How do I return result of mysql row deletion

Can someone please advise me on how to implement this?

The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.

How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?

Thank you!

Aug 13 '07 #1
7 1889
Rik
On Mon, 13 Aug 2007 19:53:18 +0200, Big Moxy <bi*****@gmail.comwrote:
Can someone please advise me on how to implement this?

The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.

How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
mysql_affected_rows() will tell you how many rows are affected by the
DELETE statement. Store the success or failure in a session at delete.php,
read it out in page1.php.
--
Rik Wasmus
Aug 13 '07 #2
On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
Can someone please advise me on how to implement this?

The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.

How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?

Thank you!
Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";
}else{
return "Failure";
}

Additionally, mysql_error() can tell you what went wrong.

Aug 13 '07 #3
On Aug 13, 12:44 pm, burgermeiste...@gmail.com wrote:
On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
Can someone please advise me on how to implement this?
The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.
How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
Thank you!

Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";}else{

return "Failure";

}

Additionally, mysql_error() can tell you what went wrong.
Apparently today is not my lucky day. When no row is deleted the URL
is pointing to my delete.php and not page1.php yet the browser display
seems to refresh.

BTW I got the same result with the mysql_affected_rows().

Here is a snippet of the delete.php code -

$Result1 = mysql_query($deleteSQL, $emailmanager) or
die(mysql_error());
if (mysql_query()) {
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/emailmanager.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));

Aug 13 '07 #4
Big Moxy wrote:
On Aug 13, 12:44 pm, burgermeiste...@gmail.com wrote:
>On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
>>Can someone please advise me on how to implement this?
The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.
How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
Thank you!
Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";}else{

return "Failure";

}

Additionally, mysql_error() can tell you what went wrong.

Apparently today is not my lucky day. When no row is deleted the URL
is pointing to my delete.php and not page1.php yet the browser display
seems to refresh.

BTW I got the same result with the mysql_affected_rows().

Here is a snippet of the delete.php code -

$Result1 = mysql_query($deleteSQL, $emailmanager) or
die(mysql_error());
if (mysql_query()) {
Why are you calling mysql_query() again? You want to test $Result1 -
which you already did with die() (a bad choice here!).
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/emailmanager.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $deleteGoTo));
Rather:

if (mysql_query($deleteSQL,$emailmanager) && mysql_affected_rows()>0)) {
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}

(sorry about the wrapping).

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Aug 13 '07 #5
Rik
On Mon, 13 Aug 2007 21:21:11 +0200, Big Moxy <bi*****@gmail.comwrote:
On Aug 13, 12:44 pm, burgermeiste...@gmail.com wrote:
>On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
Can someone please advise me on how to implement this?
The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.
How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
Thank you!

Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";}else{

return "Failure";

}

Additionally, mysql_error() can tell you what went wrong.

Apparently today is not my lucky day. When no row is deleted the URL
is pointing to my delete.php and not page1.php yet the browser display
seems to refresh.

BTW I got the same result with the mysql_affected_rows().

Here is a snippet of the delete.php code -

$Result1 = mysql_query($deleteSQL, $emailmanager) or
die(mysql_error());
if (mysql_query()) {
The previous code was just an illustration. In this case it should be:

$Result1 = mysql_query($deleteSQL, $emailmanager);
if($Result1 && mysql_affected_rows()){
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/emailmanager.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $deleteGoTo));
Actually, you should try to get a full URL in the redirect (possibly by
using 'http://'.$_SERVER['HTTP_HOST'].$deleteGoTo). Officially it's
required, allthough most user agents can handle relative URL's quite well
one shouldn't rely on it.
--
Rik Wasmus
Aug 13 '07 #6
On Aug 13, 1:29 pm, Rik <luiheidsgoe...@hotmail.comwrote:
On Mon, 13 Aug 2007 21:21:11 +0200, Big Moxy <bigm...@gmail.comwrote:
On Aug 13, 12:44 pm, burgermeiste...@gmail.com wrote:
On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
Can someone please advise me on how to implement this?
The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.
How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
Thank you!
Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";}else{
return "Failure";
}
Additionally, mysql_error() can tell you what went wrong.
Apparently today is not my lucky day. When no row is deleted the URL
is pointing to my delete.php and not page1.php yet the browser display
seems to refresh.
BTW I got the same result with the mysql_affected_rows().
Here is a snippet of the delete.php code -
$Result1 = mysql_query($deleteSQL, $emailmanager) or
die(mysql_error());
if (mysql_query()) {

The previous code was just an illustration. In this case it should be:

$Result1 = mysql_query($deleteSQL, $emailmanager);
if($Result1 && mysql_affected_rows()){
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/emailmanager.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $deleteGoTo));

Actually, you should try to get a full URL in the redirect (possibly by
using 'http://'.$_SERVER['HTTP_HOST'].$deleteGoTo). Officially it's
required, allthough most user agents can handle relative URL's quite well
one shouldn't rely on it.
--
Rik Wasmus- Hide quoted text -

- Show quoted text -
Well, perhaps I'm getting closer. The URL is now page1.php but now
results message is not displayed. I've passed $_SESSION variables
forward before but not back. The method I used for forward passing is

session_start();
foreach ($_POST as $key =$value) {
$_SESSION[$key] = $value;
}

I tried that but it did not work in this scenario.
Here is the delete code -

if (mysql_query($deleteSQL,$emailmanager) &&
mysql_affected_rows()>0) {
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}

$deleteGoTo = "/casper/page1.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", "http://".$_SERVER['HTTP_HOST'].
$deleteGoTo));

Here is the page1 code -

$result_message = "";
if ((isset($_SESSION['mysql_query_result'])) &&
($_SESSION['mysql_query_result'] != "")) {
$result_message = $_SESSION['mysql_query_result'];
}

....

<td align="center" colspan="2">
<?php
echo $result_message;
?>
</td>

Aug 13 '07 #7
Big Moxy wrote:
On Aug 13, 1:29 pm, Rik <luiheidsgoe...@hotmail.comwrote:

Well, perhaps I'm getting closer. The URL is now page1.php but now
results message is not displayed. I've passed $_SESSION variables
forward before but not back. The method I used for forward passing is

session_start();
foreach ($_POST as $key =$value) {
$_SESSION[$key] = $value;
}

I tried that but it did not work in this scenario.
Here is the delete code -

if (mysql_query($deleteSQL,$emailmanager) &&
mysql_affected_rows()>0) {
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}

$deleteGoTo = "/casper/page1.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", "http://".$_SERVER['HTTP_HOST'].
$deleteGoTo));

Here is the page1 code -

$result_message = "";
if ((isset($_SESSION['mysql_query_result'])) &&
($_SESSION['mysql_query_result'] != "")) {
$result_message = $_SESSION['mysql_query_result'];
}

...

<td align="center" colspan="2">
<?php
echo $result_message;
?>
</td>
Do you have a session_start() call at the beginning of your second page,
also?

When you look at the page source in your browser, do you see the
"<td>..</td>" in there?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Aug 13 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by David Walker | last post: by
9 posts views Thread by Börni | last post: by
1 post views Thread by Ellery Leung | last post: by
1 post views Thread by Chagh | last post: by
4 posts views Thread by Bob Bedford | last post: by
5 posts views Thread by Bob Bedford | last post: by
173 posts views Thread by Marty James | last post: by
reply views Thread by Saiars | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.