Solved

Trying to construct an sql query string

Posted on 2007-04-08
3
237 Views
Last Modified: 2012-05-05
Hello,

I am making a section for my handmade themes on my site(anyway this is not the point). I am trying to construct a sql_query string but the output is mostly 0 I am not new to php but probably I am missing something out in the crowd... The below code explains almost everything:

<?php

include "database_connection_general.inc";
      $property_id = "2";
      // I need to get theme ids which has a property_id = 2
      $sql_theme_id_get = mysql_query("SELECT theme_id FROM theme_property_relation WHERE property_id='$property_id'");
      while ($row = mysql_fetch_array($sql_theme_id_get)) {
          $theme_id = $row["theme_id"];
            $sql_tail_query += "theme_id='$theme_id' AND ";
      }

            $sql_head_query = "SELECT * FROM theme WHERE "; // adding the head part for the query
            $sql_extended_query = $sql_head_query + $sql_tail_query; // adding the tail part but there is a "AND " at the end that must be cropped!!!
            $sql_total_query = substr($sql_extended_query, 0, -4); // cropping the last 4 characters "AND "
            $sql_final_query = $sql_total_query + " ORDER BY theme_added DESC LIMIT 0 , 10"; // adding the order part
            
            echo "$sql_final_query";

            /* Output should be like:
            SELECT * FROM theme WHERE theme_id='2' AND theme_id='15' AND theme_id='74' AND theme_id='103' ORDER BY theme_added DESC LIMIT 0 , 10
            
            but getting 0
            */
      
?>

Thank you,
0
Comment
Question by:cemlouis
  • 2
3 Comments
 
LVL 50

Accepted Solution

by:
Steve Bink earned 250 total points
ID: 18872459
String concatenation is done with the period.

            $sql_head_query = "SELECT * FROM theme WHERE "; // adding the head part for the query
            $sql_extended_query = $sql_head_query . $sql_tail_query; // adding the tail part but there is a "AND " at the end that must be cropped!!!
            $sql_total_query = substr($sql_extended_query, 0, -4); // cropping the last 4 characters "AND "
            $sql_final_query = $sql_total_query . " ORDER BY theme_added DESC LIMIT 0 , 10"; // adding the order part
0
 
LVL 50

Expert Comment

by:Steve Bink
ID: 18872461
Also:

 $sql_tail_query .= "theme_id='$theme_id' AND ";
0
 

Author Comment

by:cemlouis
ID: 18872474
Hello routinet,

thank you, I get ashamed of making this mistake :( I am messing with C# these days probably that's the source of the mistake...

Regards,
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to create an extensible mechanism for linked drop downs.
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now