Door
Geert Buelens
op 17-01-2022 17:18
gewijzigd op 05-05-2022 20:38
2.475 views
Hallo,
Ik wil iets testen via c:\xamp
1) Ik heb een ontwerp terug gevonden waarbij men verbinding maakt met de DB via connect.php
<?php
mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("sponsorgroephageland") or die (mysql_error());
?>
Doch dit werkt niet
2)met onderstaande kan ik verbinding maken met de db waarom lukt dat niet met het bovenstaande?
<?php
$db = new PDO('mysql:host=localhost;dbname=sponsorgroephageland', 'root', '');
?>
=> dus ik wil met onderstaande settings de settings laten werken onder punt 1. Volgens mij staat dit toch goed?
Idd mijn kennis is te klein om dit "verouderd" php'tje werkende te krijgen
Login werkt nu maar wanneer ik inlog krijg ik volgende fouten
Fatal error: Uncaught ArgumentCountError: mysqli_query() expects at least 2 arguments, 1 given in /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php:15 Stack trace: #0 /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php(15): mysqli_query('SELECT `kbdb` F...') #1 /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/index.php(73): require_once('/customers/8/9/...') #2 {main} thrown in /customers/8/9/e/sponsorgroep3provincies.be/httpd.www/hagelandrace/login.php on line 15
Ik heb dan in login.php mysql al vervangen door mysqli maar blijft de fout op line 15 zitten, jammer maar is niet op 1-2-3 te fixen vrees ik wa dus niet enkel een probleem van connectie met de db te maken
Klopt, mysqli_query verlangt ook een tweede parameter voor de verbinding.
<?php
$account_result = mysqli_query($conn, "SELECT `kbdb` FROM user WHERE kbdb='$login_membership'") or die (mysqli_error());
?>
Ik raad persoonlijk aan om óf de functies óf object-georiënteerd óf procedureel te gebruiken.
Procedureel is met PHP-functions:
mysqli_query($conn, "SELECT... FROM.. etc...");
Object-georiënteerd is met objecten, herkenbaar aan pijlen:
$result = $mysqli->query("SELECT... FROM.. etc...");
Ikzelf gebruik de object-georiënteerde versie omdat je die, als je wat gevorderd bent, uit kan breiden.
Je kan ze ook mixxen, maar omdat de opbouw van de functies en de objecten anders is, kan het verwarrend zijn.
Daarnaast raad ik aan om je ook te wapenen tegen SQL-injection. $_POST['membership'] is niet beveiligd, en ieder kan nu eenvoudig je query manipuleren om bijvoorbeeld je data te stelen.
Zie ook: [php]mysqli_real_escape_string[/php]