Solved

Trying to construct an sql query string

Posted on 2007-04-08
3
239 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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
This article discusses four methods for overlaying images in a container on a web page
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 create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

829 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