Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL/PHP/PDO]problem z zapisem do bazy
MitS
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 5
Dołączył: 8.02.2005
Skąd: Olsztyn / Zatorze

Ostrzeżenie: (0%)
-----


witam serdecznie.

przejdę od razu do rzeczy ...
korzystam sobie z PDO i chcąc zrobić sobie taki patent:

Kod
try{
        $sql = "INSERT INTO content(idContent, modContent, aliasContent) VALUE(:nid, :mod, :alias); INSERT INTO meta(idMeta, titleMeta, descriptionMeta, keywordsMeta) VALUE(:nid, :mtitle, :mdesc, :mkeys); INSERT INTO normalContent(idContent, dateContent, titleContent, descriptionContent) VALUE(:nid, :date, :title, :desc)";
            
        $this->_dbh->beginTransaction();        
    $stmt = null;
    $stmt = $this->_dbh->prepare($sql);    
    $stmt->bindParam(":nid", $nid, PDO::PARAM_INT, 3);
    $stmt->bindParam(":mod", $return_tab['modules_alias'], PDO::PARAM_STR, 32);
    $stmt->bindParam(":alias", $this->_createAlias(trim($_POST['title'])), PDO::PARAM_STR, 255);
    $stmt->bindParam(":mtitle", trim($_POST['mtitle']), PDO::PARAM_STR, 255);
    $stmt->bindParam(":mdesc", trim($_POST['mdescription']), PDO::PARAM_STR, 255);
    $stmt->bindParam(":mkeys", trim($_POST['mkeywords']), PDO::PARAM_STR, 255);
    $stmt->bindParam(":date", trim($_POST['date']), PDO::PARAM_STR, 20);
    $stmt->bindParam(":title", trim($_POST['title']), PDO::PARAM_STR, 255);
    $stmt->bindParam(":desc", trim($_POST['content']), PDO::PARAM_STR);        
    $stmt->closeCursor();
        $stmt->execute();
    $this->_dbh->commit();

}
catch(Exception $e){
       $return_tab['system_error'] = $e->getMessage();
}


dostaję błąd: [system_error] => SQLSTATE[HY000]: General error: 2013 Lost connection to MySQL server during query

i teraz dodam, że jeśli robię dwa inserty w transakcji to nie ma tego błędu ale jak już 3 to lipa ...
szukałem trochę po google no i znalazłem coś takiego:

http://umc.ustu.ru/mirror/php_documentatio...losecursor.html
no ale niestety sam closeCursor nie pomaga ...

próbowałem użyć tego:
Kod
<?php
/**
* @param PDOStatement $oStm
*/
public static function closeCursor($oStm) {
    do $oStm->fetchAll();
    while ($oStm->nextRowSet());
}
?>

ale nie do konca wiem ajki parametr dać jako $oStm ...

ma ktoś pomysł jak usunąć mój problem questionmark.gif?

Ten post edytował MitS 16.01.2008, 16:02:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:39