Click to See Complete Forum and Search --> : Displaying results that have a space


nicelad_uk
08-28-2007, 08:19 PM
Hi there,

Wondered if anyone could help, this may be more php side than SQL, im not sure, it involves them both.

I have an SQL querie that is used to delete records from a database, it is as follows:

DELETE FROM categories WHERE category=$category

The $category is generated from a drop down box (select/option in a HTML form) which is populated by a DISTINCT(category) statement.

Now the only problem I have is that there is a record in the database called 'Plumbing & Heating' and when this record is selected the SQL statement trys to delete all records where the category=Plumbing and not the full Plumbing & Heating.

Anyone else come across this problem and been able to resolve it?

Thanks

NogDog
08-28-2007, 10:04 PM
Any non-numeric literal value must be quoted within SQL:

$query = "DELETE FROM categories WHERE category='$category'";

nicelad_uk
08-29-2007, 02:42 AM
Hi there,

Sorry, that was just me rushing to write this before I went to bed, the code is exactly as follows:

$sqlquery = "DELETE FROM manufacturers WHERE manufacturer='$removemanufacturer'";


But as mentioned, when $removemanufacturer result has a space (eg. Norwich Union) The SQL is looking to remove 'Norwich'

Any ideas?

NogDog
08-29-2007, 07:53 PM
Is the variable coming from a HTML form? If so, make sure you quoted the value in the form element, or it will ignore everything after the space.

<input type="text" name="foobar" value="<?php echo $value; ?>">

It's best to just get in the habit of quoting all HTML element attribute values, as it is required for properly formatted XML and XHTML.