Ошибка SQL 1064 — сломанный скрипт

кто-нибудь сможет помочь с очень раздражающей ошибкой базы данных.

У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом со значением ‘) VALUES (‘ 0 ‘,’ Warning: ‘)’ в строке 1

INSERT INTO VALUEES_ID (id,) VALUES (‘0’, ‘Warning:’) »

Мой код:

John, thanks for identifying this. I can't seem to identify why the $pos variable has no value?

'$pos = '';
foreach($html_base->find('td[width=120]') as $k)
{
if(trim($k->plaintext) != '')
{
$pos .= 'poss_'.str_replace(' ', '_', substr(trim($k->plaintext), 0, -1)).", ";
}
}

$pos_detail = '';
foreach($html_base->find('td[class=color_text_view]b') as $k)
{
$pos_detail .= "'".mysql_real_escape_string(trim($k->plaintext))."', ";
}

foreach($html_base->find('td[width=250], td[width=251], td[width=621]') as $td)
{
$input = $td->find('input[type=text], input[type=checkbox], input[name=manager], textarea');
foreach($input as $in)
{
if($in->getAttribute('name') == 'manager')
{
$pos_detail .= "'".mysql_real_escape_string(trim($td->plaintext))."', ";
continue;
}
elseif($in->hasAttribute('rows'))
{
$pos_detail .= "'".mysql_real_escape_string(trim($td->plaintext))."', ";
continue;
}

elseif($in->getAttribute('name') == 'critical')
{
if($in->hasAttribute('checked'))
{
$pos_detail .= "'Y', ";
continue;
}
elseif(!$in->hasAttribute('checked'))
{
$pos_detail .= "'N', ";
continue;
}
}
elseif($in->getAttribute('name') == 'library')
{
if($in->hasAttribute('checked'))
{
$pos_detail .= "'Y', ";
continue;
}
elseif(!$in->hasAttribute('checked'))
{
$pos_detail .= "'N', ";
continue;
}
}
else
{
$pos_detail .= "'".mysql_real_escape_string(trim($in->getAttribute('value')))."', ";
}}
if(!$td->find('input') && $td->previousSibling()=='<td width="120">PICOP:</td>')
{
$pos_detail .= "'', ";
}
}

$pos = substr($pos, 0, -2);
$pos_detail = substr($pos_detail, 0, -2);

$possession = "INSERT INTO possession_new ".
"(id, $pos) ".
"VALUES ".
"('0', $pos_detail)";
$this->db->query($possession);
$possession_insert_id = $this->db->insert_id();'

сценарий используется для внутренней системы, которую я создаю, которая передает данные с другого сайта с моего логина, который принадлежит моей компании. У меня есть полное разрешение на использование этого сценария скручивания, однако сценарий работал последние 12 месяцев, однако внезапно возникли проблемы с прорезыванием зубов ….

Любой совет?

0

Решение

Сообщение об ошибке ясно показывает вашу ошибку: $pos не имеет значения, которое нарушает ваш запрос. Теперь вам нужно выяснить, Зачем.

INSERT INTO possession_new (id, ) VALUES ('0', 'Warning:')"^^^^^
MISSING
3

Другие решения

Вы пропустили имя столбца после имени столбца id

INSERT INTO VALUEES_ID (id,) VALUES (‘0’, ‘Warning:’) «

Вам не хватает названия столбца, который Warning должны быть вставлены, например, в что-то вроде

INSERT INTO обладание_new (id, myColumnName) VALUES (‘0’, ‘Warning:’) «

0

По вопросам рекламы [email protected]