Avatar billede matz Nybegynder
10. marts 2008 - 21:45 Der er 8 kommentarer

Sikkerhed med insert i database

Hvilke funktioner ville dække sikkerheden godt når man skal indsætte data i mysql og derefter hente det ud?
Avatar billede arne_v Ekspert
10. marts 2008 - 21:52 #1
Hvis PHP 5 saa prepared statements (mysqli).
Avatar billede matz Nybegynder
10. marts 2008 - 21:56 #2
Hvad er forskellen på mysql og mysqli?
Avatar billede arne_v Ekspert
10. marts 2008 - 21:59 #3
Avatar billede matz Nybegynder
10. marts 2008 - 22:16 #4
Okay det er et nyt område for mig, men den skriver disse fejl:


Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in C:\wamp\www\test\test.php on line 12

Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, boolean given in C:\wamp\www\test\test.php on line 15

Warning: mysqli_stmt_affected_rows() expects parameter 1 to be mysqli_stmt, boolean given in C:\wamp\www\test\test.php on line 17
0 Row inserted.
Warning: mysqli_stmt_close() expects parameter 1 to be mysqli_stmt, boolean given in C:\wamp\www\test\test.php on line 20


Kode fra php.net:

<?php
//include_once('connect.php');
$link = mysqli_connect("localhost", "root", "", "shop");

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO navn VALUES (fornavn)");
mysqli_stmt_bind_param($stmt, 'sssd');

/* execute prepared statement */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

?>
Avatar billede arne_v Ekspert
11. marts 2008 - 03:12 #5
$stmt = mysqli_prepare($link, "INSERT INTO navn VALUES (?)");
Avatar billede matz Nybegynder
11. marts 2008 - 12:06 #6
hvorfor skal der være et (?) ? Skal den ikke vide hvor den skal gemmes?
Avatar billede arne_v Ekspert
11. marts 2008 - 13:56 #7
Hvis der er mere end 1 kolonne i tabellen er syntaxen:

$stmt = mysqli_prepare($link, "INSERT INTO tabelnavn(feltnavn) VALUES (?)");
Avatar billede nielle Nybegynder
12. marts 2008 - 10:23 #8
... eller mere generelt:

$stmt = mysqli_prepare($link, "INSERT INTO tabelnavn(feltnavn1, feltnavn2, feltnavn3) VALUES (?, ?, ?)");
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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