Autor Zpráva
Martin007a
Profil *
Ahoj, snažím se upravit HTML text v PHP a vložit do databáze, ale nejde mi to.

$TEXT = str_replace("http:", "https:", $TEXT);

a při pokusu o vložení do databáze píše:


Fatal error</b>:  Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET Popis = '&lt;


Zkouším všechny možné uvozovky a nejde mi to, jde to nějak obejít a poslat do databáze natvrdo text s uvozovkami a tágy?
anonym_
Profil *
Martin007a:
Problém je jinde. Ukaz tvůj dotaz (ideálně včetně hodnot, které jsou tam poslané).
Martin007a
Profil *
anonym:
Celý kod mám, ty echa tam mám jen pro ladění.

$obrazekHTTPS = $answer['obrazek'];
              echo $answer['obrazek'];
$obrazekHTTPS = str_replace("http:", "https:", $obrazekHTTPS);

$answerPopis = str_replace("http:", "https:", $answer['Popis']);
//$answerPopis = str_replace('"', '\"', $answerPopis);
if ($answer['obrazek'] == $obrazekHTTPS)
{echo "yes";}
else {echo "no";
       echo $answerPopis;
echo $obrazekHTTPS;       
$modifikovano = date('Y-m-d');
echo $modifikovano;     echo "<br>____<hr>";
echo $id;

$https = $pdo->prepare("UPDATE clanky SET obrazek = ?, SET Popis = ?, SET modifikováno = ? WHERE ID = ?");
// Vykonání dotazu
$httpsRUN = $https->execute(array(
    $obrazekHTTPS, 
    $answerPopis,
    $modifikovano,
    $id
));    
     }  // echo $obrazekHTTPS;



V těch hodnotách je text s HTML tágy.
anonym_
Profil *
Martin007a:
Chyba samozřejmě není v datech, ale v SQL syntaxi. Nastuduj si syntaxi pro UPDATE, konkrétně tam je spatne ten vícenásobný SET.
Martin007a
Profil *
anonym:
Ježiš, díky moc! Já nad tím dumám už hodinu.

Děkuju!
lionel messi
Profil
Martin007a:
Já nad tím dumám už hodinu.

Niekde bokom si odchytávaj errorInfo (pri vývoji niekde na locali a podobne môžeš aj vypisovať do stránky), v produkčnej verzii chyby, samozrejme, logujeme.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0