uppdatera rad i databas (Microsoft SQL server) med php

Permalänk
Medlem

uppdatera rad i databas (Microsoft SQL server) med php

försöker uppdatera en rad med hjälp av följande kod:

<?php error_reporting(E_ALL); ini_set('display_errors', 1); $head = $_POST['title']; $short = $_POST['short']; $bread = $_POST['edit']; $author = $_POST['author']; $cat = $_POST['cat']; $id = $_POST['id']; $db = new PDO('sqlsrv:server=localhost;Database=blog', '******', '*****'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try{ $sql = 'UPDATE dbo.blog_posts SET blog_title= :head, blog_short= :short, blog_post= :bread, blog_author= :author, blog_category= :cat WHERE blogID= :id'; $query = $db->prepare( $sql ); $query->execute( array(':head'=>$head, ':short'=>$short, ':bread'=>$bread, ':author'=>$author, ':cat'=>$cat ) ); }catch(PDOExepction $e){ echo $e->getMessage(); } ?>

men får error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[07002]: [Microsoft][SQL Server Native Client 11.0]COUNT field incorrect or syntax error' in C:\inetpub\wwwroot\dev\ny\post_edit.php:17 Stack trace: #0 C:\inetpub\wwwroot\dev\ny\post_edit.php(17): PDOStatement->execute(Array) #1 {main} thrown in C:\inetpub\wwwroot\dev\ny\post_edit.php on line 17

Men alla exempel jag hittar på google fungerar på samma sätt typ... hur bör jag ändra för att få igång detta?

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem
Skrivet av pellski87:

WHERE blogID= :id

Du har inte bindat :id till något i din array du skickar med när du faktiskt exekverar frågan.

Visa signatur

AW3423DW QD-OLED - Ryzen 5800x - MSI Gaming Trio X 3090 - 64GB 3600@cl16 - Samsung 980 Pro 2TB/WD Black SN850 2TB

Permalänk
Medlem
Skrivet av celoz:

Du har inte bindat :id till något i din array du skickar med när du faktiskt exekverar frågan.

aaa såhär då?

<?php error_reporting(E_ALL); ini_set('display_errors', 1); $head = $_POST['title']; $short = $_POST['short']; $bread = $_POST['edit']; $author = $_POST['author']; $cat = $_POST['cat']; $id = $_POST['id']; $postdate = date('Y-m-d H:i:s'); $db = new PDO('sqlsrv:server=localhost;Database=blog', '****', '*********'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE `blog_posts` SET `blog_title` = :head, `blog_short` = :short, `blog_post` = :bread, `blog_author` = :author, `blog_category` = :cat, `blog_date` = :postdate WHERE `blogID` = :id"; $query = $db->prepare( $sql ); $query->execute( array(':id'=>$id, ':head'=>$head, ':short'=>$short, ':bread'=>$bread, ':author'=>$author, ':postdate'=>$postdate, ':cat'=>$cat ) ); header("Location: index.php"); ?>

fungerar dock inte heller..

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near '`'.' in C:\inetpub\wwwroot\dev\ny\post_edit.php:17 Stack trace: #0 C:\inetpub\wwwroot\dev\ny\post_edit.php(17): PDOStatement->execute(Array) #1 {main} thrown in C:\inetpub\wwwroot\dev\ny\post_edit.php on line 17

Visa signatur

Citera om du vill ha svar :)

Permalänk
Medlem

NVM löste de! tack!

Visa signatur

Citera om du vill ha svar :)