Когда я запускаю некоторый код PHP, я сталкиваюсь с ошибками, которые не могу объяснить. Я запускаю запрос из PHP.
Предупреждение: sybase_query () [function.sybase-query]: Sybase: Сервер
сообщение: неверный синтаксис рядом с ‘=’. (степень тяжести 15, процедура Н / Д) в
C: \ xampp \ htdocs \ wil \ Testen \ ZKO-backend \ php \ ui_table.php в строке 20
а также:
Предупреждение: sybase_fetch_array () ожидает, что параметр 1 будет ресурсом,
логическое значение в
C: \ xampp \ htdocs \ wil \ Testen \ ZKO-backend \ php \ ui_table.php в строке 21
Вызываемый запрос отлично работает в Sybase, и та же самая процедура прекрасно работает с аналогичными запросами.
Я получаю ошибки для каждой записи, которую доставляет запрос, поэтому я думаю, что проблема должна заключаться в коде PHP, который не может обработать вывод запроса.
Запрос:
<?PHP
$subquery= "SELECT distinct
ds_u_in.DATASET_ID,
ds_u_in.USED_INSTRUMENT_ID,
'<td>' + inv_in_type.NAME +'</td>' AS LONG_TABLEROW,
'<td>' + per_org_man.NAME +'</td>' AS LONG_TABLEROW2,
'<td>' + inv_in.SERIAL +'</td>' AS LONG_TABLEROW3,
'<td>' + per_org.NAME +'</td>' AS LONG_TABLEROW4,
'<td>' + inv_in.DEPARTMENT +'</td>' AS LONG_TABLEROW5
FROM
dataset..DATASET_USED_INSTRUMENT ds_u_in,
inventory..USED_INSTRUMENT inv_u_in,
inventory..INSTRUMENT_TYPE inv_in_type,
inventory..INSTRUMENT inv_in,
person..ORGANISATION per_org_man,
person..ORGANISATION per_org
WHERE ds_u_in.USED_INSTRUMENT_ID = inv_u_in.USED_INSTRUMENT_ID
AND inv_u_in.INSTRUMENT_TYPE_ID = inv_in_type.INSTRUMENT_TYPE_ID
AND inv_u_in.INSTRUMENT_ID *= inv_in.INSTRUMENT_ID
AND per_org_man.ORGANISATION_ID =* inv_in_type.MANUFACTURER_ORGANISATION_ID
AND per_org.ORGANISATION_ID =* inv_in.ORGANISATION_ID
AND ds_u_in.USED_INSTRUMENT_ID = {K} ";
?>
{K} заменяется целым числом перед выполнением запроса.
PHP-код, чтобы показать результат:
for ($k = 1; $k <= $_SESSION[$name]; $k++) {
$mysubquery=sybase_query(str_replace('{K}',$_SESSION[$name.'_'.$k],$subquery));
$subrow = sybase_fetch_array($mysubquery);
if ($subrow) {
if (isset($subrow["LONG_TABLEROW"])) {
if(strlen($subrow["LONG_TABLEROW"]) >=1) {
echo "<tr>".$subrow["LONG_TABLEROW"];
for ($l = 2; $l <= 9; $l++) {
if (isset($subrow["LONG_TABLEROW".$l])) {
if (strlen($subrow["LONG_TABLEROW".$l]) >=1) {
echo $subrow["LONG_TABLEROW".$l];
}
}
}
}
}
echo '<td><img onclick="javascript:DeleteLine())" src="images/trash.png" /> ';
if ($k == $_SESSION[$name] ) {
echo 'add' ;
}
echo '</td></tr>';
}
}
Кто-то видит, что здесь происходит не так?
Задача ещё не решена.
Других решений пока нет …