Dali
Постоялец
- Регистрация
- 7 Апр 2006
- Сообщения
- 155
- Реакции
- 156
- Автор темы
- #1
Проблема с выборкой с помощью PDO
Собственно бьюсь уже второй день мозг кипит... уже замучал гуглу, а проблему так и не решил попытаю счастье у нс на форуме. Собственно есть такой вот скрипт:
Суть скрипта в том что по урлу из файла грузим документ забираем список данных(получаем массив данных) если это массив не пустой то из него выбираем первый элемент и заносим в таблицу con_url вида:"id / dom / url_page", далее надо потянуть эту строку из мускула чеб получить id строки для записи уже всех остальных элементов массива в другую таблицу con_dom вида "id / m_id(тоесть наш id из таблицы con_url) / url_page".
И все бы хорошо должно было быть если бы не одно но! после того как я заинсетил первое значение в таблицу я его немогу вытянуть эту строку чеб взять ид для дальнейших извращений пишет вот это:
А суть вопрос как поправить мой горе скриптиг чеб он работал...
P/S/ за код если что извиняюсь из меня наверное пхп программер как из .... пуля , есть подозрение что может надо типа закрывать соединение после того как проинсертил тока в мануле по этому сраному PDO не фига об этом не сказанно
Собственно бьюсь уже второй день мозг кипит... уже замучал гуглу, а проблему так и не решил попытаю счастье у нс на форуме. Собственно есть такой вот скрипт:
PHP:
try{
$bdh = new PDO ("mysql:host=$hostname;dbname=$basename", $username, $password);
echo "Соединение установлено<hr></br>";
while(!feof($list)){
$url=trim(fgets($list));
$content = file_get_contents($url);
preg_match_all("#<li>(.*)</li>#iU",$content,$elements);
$llist = $elements[1];
if ($llist){
$first_l = array_shift($llist);
$ins = "('".$url."', '".$first_l."')";
echo $ins."<hr><br>";
$insert = $bdh->exec("INSERT INTO con_url (dom, url_page) VALUES ".$ins);
echo "добавленно: ".$insert."<hr><br>";
$sql = "SELECT * FROM con_url";
foreach ($dbh->query($sql) as $row) {
echo $row['id']. '-' .$row['dom']. '-' .$row['url_page'].'<hr />';
}
*/
print_r($urllist);
}
}
$bdh =null;
} catch( PDOExecption $e ) {
print "Error!: " . $e->getMessage() . "</br>";
}
И все бы хорошо должно было быть если бы не одно но! после того как я заинсетил первое значение в таблицу я его немогу вытянуть эту строку чеб взять ид для дальнейших извращений пишет вот это:
Код:
Notice: Undefined variable: dbh in Z:\home\test1.ru\www\ant.php on line 39
Fatal error: Call to a member function query() on a non-object in Z:\home\test1.ru\www\ant.php on line 39
P/S/ за код если что извиняюсь из меня наверное пхп программер как из .... пуля , есть подозрение что может надо типа закрывать соединение после того как проинсертил тока в мануле по этому сраному PDO не фига об этом не сказанно