12. september 2013 - 10:31Der er
6 kommentarer og 1 løsning
Prepared statements (PS) - EasyPHP - newbee
Det er føste gang jeg forsøger med PS, at få forbindelse til en lille tabel kaldet medlemsdata som ligger i databaseb kaldet dwk.
Jeg har sfl startet med at copy-paste fra guiden og tilrettet som jeg mener det skal: <?php $sql_server = "localhost"; // vært $sql_brugernavn = "root"; // bruger $sql_kodeord = ""; // password $sql_dbnavn ="dwk"; // databasens navn
// $mysqli = new mysqli("server", "brugernavn", "kodeord", "dbnavn"); $mysqli = new mysqli($sql_server, $sql_brugernavn, $sql_kodeord, $sql_dbnavn);
/* Tjekker om der opstod en fejl */ if (mysqli_connect_errno()) { echo 'Der opstod en fejl ved forbindelsen: ' . mysqli_connect_error(); exit(); } else { echo 'Det ser s.. ud til der er forbindelse til serveren "' . $sql_server . '" og DBen "' . $sql_dbnavn . '".<br>'; }
/* Opret et prepared statement */ if ($stmt = $mysqli->prepare('SELECT fornavn, efternavn FROM medlemsdata WHERE identnr > ?')) {
/* Bind parametre */ $stmt->bind_param('i', $id);
/* Sæt værdier på parametrene */ $id = $_GET['identnr'];
Lad være med at finde på et akronym selv for prepared statements. Det letter ikke forståelsen for nogen.
$_GET['identnr'] er ikke sat og derfor får du beskeden om et udefineret indeks. For at sætte indekset 'identnr' i superglobal arrayet $_GET skal du skrive den som parameter i din URL: test.php?identnr=15
Jeg tror ikke jeg forstår dit andet spørgsmål. Hvis du ikke ved hvilken database du har forbindelse til, hvordan har du så lavet forbindelsen?
Jeg tror ikke jeg forstår dit andet spørgsmål. Hvis du ikke ved hvilken database du har forbindelse til, hvordan har du så lavet forbindelsen?
- når man ikke får resultater man forstår, så er det de særeste ting man kan blive i tvivl om, og når man læser diverse artikler, som tilsyneladende roder rundt i 'tabeller' om databaser og 'database' om tabel, så bliver man (jeg) forvirret. Desuden ville jeg gerne rent faktisk se at det også ER den database jeg har forbindelse til, og ikke bare et blankt svar fordi det tilsyneladende gik godt. Ingen besked er for mig ikke det samme som 'det gik godt'.
Bare derfor :-)
I øvrigt virker test.php?identnr=1 (det min hustru :-) )
Eksempler og tutorials er selvfølgelig udsat for både forfatters og læsers fortolkning og forståelse. Som udgangspunkt vil jeg mene at du ikke er i tvivl om hvilken database du er forbundet til i og med det er dig der angiver forbindelsesoplysningerne inden forbindelsen oprettes.
Takker arne_v, copy/pastet for senere at kigge nærmere på det.
Synes godt om
Ny brugerNybegynder
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.