2011-09-16 2 views
0

ことを期待し、私はこのエラーを取得しています:はociparse()パラメータ2は、文字列

Warning: ociparse() expects parameter 2 to be string, resource given in /home/sjrem/public_html/SIT104_3/order.php on line 29 
An error occurred in parsing the sql string. 

行29:

<html> 
<head> 
<title>Untitled Document</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body> 



<?php 

/* Set oracle user login and password info */ 
$dbuser = "sjrem"; /* your deakin login */ 
$dbpass = "password"; /* your oracle access password */ 
$db = "SSID"; 
$connect = OCILogon($dbuser, $dbpass, $db); 

if (!$connect) { 
echo "An error occurred connecting to the database"; 
exit; 
} 

$sql = "SELECT * FROM purchase"; 
$query = OCIParse($connect, $sql); 
OCIExecute($query); 

/* check the sql statement for errors and if errors report them */ 
$stmt = OCIParse($connect, $query); 
//echo "SQL: $query<br>"; 
if(!$stmt) { 
echo "An error occurred in parsing the sql string.\n"; 
exit; 
} 
OCIExecute($stmt);?> 


<table> 
<?PHP while (OCIFetch($query)) { 

    $fg1 = OCIResult ($query , "ID") ; echo("<tr><td>id: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg2 = OCIResult ($query , "FNAME") ; echo("<tr><td>name</td><td>"); echo ($fg2); echo ("</td> </tr>"); 
    $fg3 = OCIResult ($query , "LNAME") ; echo("<tr><td>email: </td><td>"); echo ($fg3); echo ("</td> </tr>"); 
    $fg4 = OCIResult ($query , "VIN") ; echo("<tr><td>Vin: </td><td>"); echo ($fg4); echo ("</td> </tr>"); 
    $fg5 = OCIResult ($query , "EMAIL") ; echo("<tr><td>Email: </td><td>"); echo ($fg5); echo ("</td> </tr>"); 
    $fg6 = OCIResult ($query , "UNIT") ; echo("<tr><td>Unit: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg7 = OCIResult ($query , "STREET") ; echo("<tr><td>Street: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg8 = OCIResult ($query , "SUBURB") ; echo("<tr><td>Suburb: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg9 = OCIResult ($query , "PCODE") ; echo("<tr><td>Post Code: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg10 = OCIResult ($query , "CREDIT") ; echo("<tr><td>Credit: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg11 = OCIResult ($query , "HOLDER") ; echo("<tr><td>Holder: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 
    $fg12 = OCIResult ($query , "EXPIRY") ; echo("<tr><td>Expiry: </td><td>"); echo ($fg1); echo ("</td> </tr>"); 


} 





    ?> 
</table> 


</body> 


</html> 
+1

どの'ociparse()の一部はパラメータ2が文字列であることを期待しています、リソースは'不明ですか? –

+0

これは、$ query = OCIParse($ connect、$ sql)と思われます。あなたが返すと期待しているものを返さないので、別のOCIParseに$クエリを置くと、うまくいきません。 – JSantos

答えて

1

$stmt = OCIParse($connect, $query);

$stmt = OCIParse($connect, $query);

をこれが私の全体のコードです

$queryは、次のように定義されます。$query = OCIParse($connect, $sql);

OCIParseリソースはありません$queryです。ライン29上の多分

あなたは$query = OCIParse($connect, $sql);

+0

ありがとうございます! – david

+0

問題はありませんが、私の答え(チック)を記入してください:) – rickyduck

+0

ya haha​​の別のものがあります http://stackoverflow.com/questions/7443019/php-error-when-trying-to-submit-form -data-to-database-please-help – david

0
$stmt = OCIParse($connect, $query); 

を意味する必要があります:

$stmt = OCIParse($connect, $sql); 

とそれに先行する2つの行を削除(?なぜあなたはそれを2回実行したいん)

関連する問題