Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php变量上存储oracle行值_Php_Sql_Oracle - Fatal编程技术网

在php变量上存储oracle行值

在php变量上存储oracle行值,php,sql,oracle,Php,Sql,Oracle,我在Oracle中有一个包含以下列的表:IMGPOSX、IMGPOSY和IDIMG。表的每一行都有一个不同的X Y值位置和一个ID,用于标识这些值中的哪一个对应于指定的ID 例如:IDIMG=image1>IMGPOSX=20 IMGPOSY=50 使用这个值,然后我构建一个html映射图像,加载具有指定ID的图像,并将IMGPOSX和IMGPOSY的结果放在页边顶部和页边左侧css属性上 我找到了几个如何获取行的第一行的值的示例,但我不知道如何获取另一行的值(该表有12行) 在下一段代码中,我

我在Oracle中有一个包含以下列的表:IMGPOSX、IMGPOSY和IDIMG。表的每一行都有一个不同的X Y值位置和一个ID,用于标识这些值中的哪一个对应于指定的ID

例如:
IDIMG=image1>IMGPOSX=20 IMGPOSY=50

使用这个值,然后我构建一个html映射图像,加载具有指定ID的图像,并将IMGPOSX和IMGPOSY的结果放在页边顶部和页边左侧css属性上

我找到了几个如何获取行的第一行的值的示例,但我不知道如何获取另一行的值(该表有12行)

在下一段代码中,我得到了每列的第一行(IMGPOSX、IMGPOSY和IDIMG),但我不知道如何得到表中的其余行。如果我将行1[1]放入解析器,则会得到一个错误

<?php

$conn = oci_connect('TEST', 'TEST', 'ORCL');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT IMGPOSX, IMGPOSY, IDIMG FROM TESTTABLE ');

if(oci_execute($stid))

{
$row=oci_fetch_row($stid) ;

"<table border='2'>";

print"<tr><td><p>posx: </td><td>$row[0] </td></tr>";
print"<tr><td>posy: </td><td>$row[1] </td></tr>";
print"<tr><td>idimg: </td><td>$row[2] </td></tr>";

print"</table></br>";   

}

oci_free_statement($stid);
oci_close($conn);

?>

一个粗略的例子可能是在查询中附加WHERE子句:

$id = 'image2';
$stid = oci_parse($conn, "SELECT IMGPOSX, IMGPOSY, IDIMG FROM TESTTABLE WHERE IMDIMG = $id;");
或者,对于相同的查询,您可以使用以下条件进行筛选:

if ($row[2] == $id) {
//show
}
代码前面的一句话指出,您可能需要多行,因此,如果不进行筛选,您将收到更多,要获得它们,您需要进行适当的获取。如果您当前的一个是fetch_行,则可能需要fetch_数组以接收包含所有值的数组

我建议
oci\u fetch\u assoc
,这样您就可以通过他们的名字访问该列。此外,筛选将使用命名列

if ($row['IDIMG'] == $id) {
//show
}
记住功能描述中的以下句子:
此函数通常在循环中调用,直到返回FALSE

你需要一些类似的东西:

<?php
//all the code here
// ...
// ...
?>
    <table border="2">
<?php while ($row = oci_fetch_assoc($stid)): ?>
    <tr><td><p>posx:</p></td><td><?=$row['IMGPOSX'];?></td></tr>
    <tr><td><p>posy:</p></td><td><?=$row['IMGPOSY'];?></td></tr>
    <tr><td><p>idimg:</p></td><td><?=$row['IDIMG'];?></td></tr>
<?php endwhile; ?>
    </table><br />
<?php
oci_free_statement($stid);
oci_close($conn);
?>

posx:

波西:

idimg: