[html/php/sql] reconnaissance des "
Posté : 31 mai 2006, 08:54
j'ai cette page
qund le code html s'affiche le value de nomé query prend en compte ses quotes et donc s'arrete avant la fin de ma requete
sur cette page
j'ais deja teste htmlspecialchar, \" et \\" rien n'a marché
<?php
$order = $_POST['orderby'];
$query1 = 'select , s.study_key "study_key" ,s.study_num "study_num" ,s.protocol_num "protocol_num" ,s.other_num "OtherID" ,st.study_type "study_type" ,\'?\' "ProductLicense" ,decode(s.unblind_ok,1,\'Yes\',\'No\') "EligibleUnblinding" ,decode(s.encoding,1,\'Yes\',\'No\') "StudySpecificAutoEnc" ,s.study_desc "study_desc" ,ac.cond_name "InvestigatorAlert" ,s.blind_name "blind_name" ,d1.name "Drugs" ,d2.name "Indications" ,d3.name "EventTerms" ,decode(s.event_no_manual,1,\'Yes\',\'No\') "PreventManual" ,decode(s.event_closure,1,\'Yes\',\'No\') "RequireEvent" from lm_studies s ,lm_study_types st ,cfg_adv_cond ac ,cfg_dictionaries d1 ,cfg_dictionaries d2 ,cfg_dictionaries d3 where s.study_type_id = st.study_type_id and s.alert_ac_id = ac.ac_id (+)and s.deleted is null and st.deleted is null and ac.deleted is null and d1.deleted is null and d2.deleted is null and d3.deleted is null and s.drug_dict= d1.dict_id (+) and d1.usage (+) = 1 and s.event_dict = d2.dict_id (+) and d2.usage (+) = 3 and s.indications_dict = d3.dict_id (+) and d3.usage (+) = 2 order by ';
$query2=$query1.$order;
echo '
<html>
<body>';
echo $query2 ;
echo '<p>';
//$long =strlen($query2);
//for($i=0; $i<$long ;$i++)
//{
//if($query2[$i] == '"')
// {
// $query.='\"';
// }
// else
// {
// $query.=$query2[$i];
// }
// }
//$query=htmlspecialchars($query2) ;
echo '<p> Use this querie? <form method="post" action="essai2.php4">
<input type="hidden" value ="'.$query.'" name ="query">
<input type=submit value="ok" name="send">
</form>
</body>
</HTML>';
comme cvous pouvez le voir $query à des doubles quotes qund le code html s'affiche le value de nomé query prend en compte ses quotes et donc s'arrete avant la fin de ma requete
sur cette page
<?php
$query = $_POST['query'];
$stid = ociparse($conn, $query);
$r = ociexecute($stid, OCI_DEFAULT);
$ncols = OCINumCols($stid);
echo $query;
echo "<TABLE BORDER=1> ";
//echo "<THEAD bgcolor=#9A9A9A>
// <TH>case_id</TH>
// <TH>field_id</TH>
// <TH>language_id</TH>
// <TH>seq_num</TH>
// <TH>deleted</TH>
// <TH>text</TH>
// </THEAD> <TBODY>";
$count =0;
while (OCIFetchInto ($stid, $ligne, OCI_RETURN_NULLS))
{
echo "<TR>";
for ( $i=0 ;$i < $ncols; $i++)
{
if(trim($ligne[$i])=="")
{
echo "<TD><FONT color=#CC0066> null </FONT></TD>";
}
else
{
echo "<TD> $ligne[$i] </TD>" ;
}
}
echo "</TR> ";
$count++;
}
echo "</table></TBODY>" ;
echo "<TABLE BORDER=1>
<THEAD>
<TH> N-Line </TH>
</THEAD>";
echo "<TBODY>";
echo" <TR><TD> $count </TD></TR>";
echo" </TBODY>
</TABLE>";
echo $query;
OCILogoff($conn);
?>
rien n'y fais le "e cause une erreur au niveau de ma requetej'ais deja teste htmlspecialchar, \" et \\" rien n'a marché

