By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,201 Members | 920 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,201 IT Pros & Developers. It's quick & easy.

How do I return result of mysql row deletion

P: n/a
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
Share this Question
Share on Google+
7 Replies


P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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

P: n/a
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.