odbc_do() führt eine Anfrage auf der gegebenen Verbindung durch.
Hey guys,
I used the following code to run normal double quotes inside my SQL queries. Hopefully this will save someone else a headache or two-
<?php
/**
* Query Function
* Allows quoted queries to be sent to SQL
*/
function query($query, $conn)
{
odbc_do($conn, 'SET QUOTED_IDENTIFIER OFF');
return odbc_do($conn, $query);
}
?>
To clear up: the SQL standard requires strings to be inside single quotes: 'string'. It simply does not accept double quotes for this purpose.
Furthermore, in PHP, you can have a single quote inside double quotes: "select a from b where c = 'string'" without the need to escape.
$sql = INSERT INTO table (field1,field2,field3,field4) VALUES ("text value 1", "text 2",3,"text 4")";
of cos u will get an error fro php due to double quotes inside double quotes. The correct way of doing that is
$sql = "INSERT INTO table (field1, field2, field3, field4) VALUES
(\"text1\", \"text2\", \"text3\", \"text4\")";
Dont forget the backslash when u want to insert a " within double quotes.
Some of you may be having problems with Access SQL.
I got "Too few parameters" many times before I figured this out.
MS Access does not like double quotes in a SQL string like this:
<?php
$sql = 'INSERT INTO table (field1,field2,field3,field4) VALUES ("text value 1", "text 2",3,"text 4")';
?>
This resulted in an obscure error: Too few parameters.
So - The following should work much better:
<?php
$sql = "INSERT INTO table (field1,field2,field3,field4) VALUES ('text value 1', 'text 2',3,'text 4')";
?>
i have use this function so many times. it works well for my requirements. ok well done...
<?php
$sqlstr="SELECT bill_no FROM SCROL";
$queryresult=odbc_do($conn,$sqlstr);
odbc_fetch_row($queryresult,$bills);
// if we want to access the records
// then we have to write the following code
echo $bills[0];
?>
the out put for this will:
1
which is actullay first record of resultset.