Jump to content

[SOLVED] *modified * Query Failed - Resource id #2, error in syntax !!! Officially lost


greencoin

Recommended Posts

Here's what I get

"Query failed

Resource id #2

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #2' at line 1"

 

here's the code;

<?php
// db connect stuff
$name2 = $_POST['state'];
for($name2array=0; $name2array < sizeof($name2); $name2array++)
{
if($name2array < (sizeof($name2)-1)) { $name2_cond = " OR "; }
else { $name2_cond = ""; }
$name2q = $name2q."\"area\" LIKE'".$name2[$name2array]."'$name2_cond";
}
$name2q = "($name2q)";
$query = "SELECT * FROM GC_Tracker WHERE $name2q";
die($query);
$sql = mysql_query($query) or die(mysql_error());
   
    if ($result = mysql_query($sql)) {
      if (mysql_num_rows($result)) {
        $i = 0;
        echo "<TABLE width=\"850\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=cccccc>\n";
        echo "<TR bgcolor=\"ccffcc\"><TD>ID</TD><TD width=130>Customer</TD><TD width=75>Area</TD><TD width=75>City</TD><TD width=100>Phone</TD><TD width=75>Amount</TD><TD>Units</TD></TR>\n";
        while ($row = mysql_fetch_array($result)) {
          if ($i % 2) {
            echo "<TR bgcolor=\"ccffcc\">\n";
          } else {
            echo "<TR bgcolor=\"white\">\n";
          }
          echo "<TD>".$row['cid']."</TD><TD>".$row['customer']."</TD><TD>".$row['area']."</TD><TD>".$row['city']."</TD>
	  <TD>".$row['phone']."</TD><TD>".$row['amount']."</TD>
	  <TD>".$row['prod1'].", ".$row['prod2'].", ".$row['prod3'].", ".$row['prod4'].", ".$row['prod5'].", ".$row['prod6'].", ".$row['prod7'].", ".$row['prod8'].", ".$row['prod9'].", ".$row['prod10']."</TD>\n";
          echo "</TR>\n";
          $i++;
        }
        echo "</TABLE>\n";
	echo "<br>\n";
	echo "<input type=Button name=printit value=print onclick=javascript:window.print();>\n";
      } else {
        echo "No results found";
      }
    } else {
      echo "Query failed<br />" . $sql . "<br />" . mysql_error();
    }
//  } else {
//   echo "form not submitted";
//  }

?>

 

The variables in the query are passing correctly. Using die($query) the string looks like; SELECT * FROM GC_Tracker WHERE ("area" LIKE'ak')

 

Other than there is no space in between LIKE and the variable 'ak', I don't see anything wrong with the SELECT line. Anyone? Thanks in advance ~Rich

Link to comment
Share on other sites

<?php
$name2 = $_POST['state'];
for($name2array=0; $name2array < sizeof($name2); $name2array++)
{
if($name2array < (sizeof($name2)-1)) { $name2_cond = " OR "; }
else { $name2_cond = ""; }
//$name2q = $name2q."/"area/" LIKE'".$name2[$name2array]."'$name2_cond"; // this is my variable that is on the SELECT line
$name2q = $name2q."area LIKE '".$name2[$name2array]."'$name2_cond"; // this is my variable that is on the SELECT line
}
//$name2q = "($name2q)";
$query = "SELECT * FROM GC_Tracker WHERE $name2q"; // I think this is considered line 1
$sql = mysql_query($query) or die(mysql_error());?>

 

should output as: SELECT * FROM GC_Tracker WHERE area LIKE 'ak'

 

however....if you're looking for field containing 'ak' you'll want to change it to

 

SELECT * FROM GC_Tracker WHERE area LIKE '%ak%'

Link to comment
Share on other sites

bbaker: I tried your correction and die($query) gave me;

SELECT * FROM GC_Tracker WHERE

 

When I uncommented $name2q = "($name2q)"; it gave me;

SELECT * FROM GC_Tacker WHERE ()

 

I DO need to find a field containing the variable so how would I pass the '%...%' to the SELECT statement?

 

I forgot to mention the form that passes the $name2 variable is a multiple checkbox form that will pass more than one variable at a time. Thanks ~Rich

Link to comment
Share on other sites

Trying to debug, I changed the code after finding some other people who posted the same errors. Now I have this code;

<?php
$name2 = $_POST['state'];
for($name2array=0; $name2array < sizeof($name2); $name2array++)
{
if($name2array < (sizeof($name2)-1)) { $name2_cond = " OR "; }
else { $name2_cond = ""; }
$name2q = $name2q."\"area\" LIKE '%".$name2[$name2array]."%' $name2_cond";

}
$name2q = "($name2q)";
$query = "SELECT * FROM GC_Tracker WHERE $name2q";
$sql = mysql_query($query) or die(mysql_error());

Print "<table width=860 border=1 cellpadding=0 cellspacing=0 class=table_results>"; 
Print "<tr bgcolor=ccffcc>"; 
Print "<td width=35>Order</td>";
Print "<td width=100>Customer</td>";
Print "<td width=75>Phone</td>";
Print "<td width=50>Area</td>";
Print "<td width=75>City</td>";
Print "<td width=70>Amount</td>";
Print "<td width=100>Products</td>";
Print "<td width=20>Created On</td></tr>";
while($info = mysql_fetch_array( $sql )) 
{ 

Print "<tr bgcolor=ffffff>"; 
Print "<td>".$info['cid'] . "</td> ";
Print "<td>".$info['customer'] . "</td> "; 
Print "<td>".$info['phone'] . " </td>";
Print "<td>".$info['area'] . " </td>";
Print "<td>".$info['city'] . "</td> "; 
Print "<td>".$info['amount'] . " </td>";
Print "<td>".$info['prod1'].  " </td>";
$var = $info['time'];
list($date,$time) = explode(' ',$var);
Print "<td>".$date . " </td></tr>"; 
} 
echo $sql; // for debugging only to check my variable

Print "</table>";
Print "<br>\n";
Print "<input type=Button name=printit value=print onclick=javascript:window.print();>\n"; 
?> 

 

It no longer kicks out an error but the beginings of a table, with blank rows of course. I echoed $sql and it returns "Resource #2". die ($query) gives me; SELECT * FROM GC_Tracker WHERE ("area" LIKE '%LA%' )

 

I'm using MySQL 4.1 on godaddy servers... ~Rich

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.