Avatar billede soeren_soelv Novice
04. oktober 2017 - 14:03 Der er 5 kommentarer og
1 løsning

SQL update funktion i PHP

Hej
Min gamle SQL update funktion virker ikke mere. Jeg har prøvet lidt forskelligt, men det er ikke lykkes at få den til at virker. Jeg har testet at der er date i $aab og $nyhed ved at echo det ud og selve SQL Update virker også, når jeg ændre $aab og $nyhed til tekst strenge. 

<?php
//indsættes data i db
    $host = "localhost";
    $user = "xxx";
    $pass = "xxxx";
    $database = "xxxx";
    $db= mysql_connect("$host","$user","$pass");
    mysql_select_db("$database", $db);
{
        $aab = $_POST['tekst'];
        $nyhed = $_POST['tekst2'];
        mysql_query("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");
   

}
mysql_close($db);
?>

Hvad er galt ift. min brug af tekst = '$aab', tekst2 = '$nyhed'?
Avatar billede Rune1983 Ekspert
04. oktober 2017 - 14:14 #1
Kunne det tænkes det er fordi du ikke anvender mysqli?
Avatar billede acore Ekspert
04. oktober 2017 - 14:41 #2
Måske er du opgraderet til php7 - der virker den ikke - se http://php.net/manual/en/function.mysql-query.php
Avatar billede Rune1983 Ekspert
04. oktober 2017 - 14:50 #3
Prøv
$host = "localhost";
$user = "xxx";
$pass = "xxxx";
$database = "xxxx";

$mysqli = new mysqli($host, $user, $pass, $database);

$aab = $_POST['tekst'];
$nyhed = $_POST['tekst2'];
$mysqli->query("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");

$mysqli->close();
Avatar billede soeren_soelv Novice
04. oktober 2017 - 14:58 #4
Min udbyder benytter PHP 5.6 og "mysql_query("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");" virker fint hvis jeg benytter tekst, som input værdier.
Avatar billede acore Ekspert
04. oktober 2017 - 15:08 #5
Prøv at erstatte

mysql_query("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");

med

echo("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");

og se hvad der kommer ud.
Avatar billede olsensweb.dk Ekspert
04. oktober 2017 - 15:14 #6
#4
står der det i din sql som du forvendter ??
prøv at sætte die på din query.

prøv at omskrive
mysql_query("UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1");


til

$sql = ""UPDATE tabel SET tekst = '$aab', tekst2 = '$nyhed' WHERE id = 1";     
echo $sql; // test
$rs = mysql_query($sql);
if (!$rs) {
    die('Invalid query: ' . mysql_error());
}


nb: du bør hurtigst muligt få omskrevet din code til mysqli eller pdo, selv om det gamle mysql api stadig virker hos din udbyder, så du ikke stå med håret i postkassen når han opdaterer til nyere php vertion.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester