SQL query in PDO
Dieter Martens
29/12/2014 18:55:12Dag allemaal, ik zit met een probleempje... ik heb een query gemaakt voor html maar toen ik hem in drupal stak werkte hij niet meer. Nu blijkt dat Drupal geen mysql query's meer ondersteund... enkel PDO en mysqli. Nu mijn functie is redelijk moeilijk te vinden. Ik heb 2 WHERE statements met een IN statement. Plus ik ken niks van PDO... Kan iemand me helpen om deze functie in PDO te krijgen? Alvast bedankt!
$dbww = "SELECT * FROM $db WHERE test1 IN($a) AND test2 IN($b) ORDER BY rand() LIMIT 1";
$dbww = "SELECT * FROM $db WHERE test1 IN($a) AND test2 IN($b) ORDER BY rand() LIMIT 1";
PHP hulp
22/12/2024 20:50:25Pipo Clown
29/12/2014 19:05:37Ik denk dat je beter kunt beginnen bij het maken van de database verbinding.
Overigens, er zijn echt bergen tuts hierover en die even bekijken brengt je vele malen sneller tot een oplossing dan hier steeds een dag te wachten tot je weer een stapje verder kunt.
Overigens, er zijn echt bergen tuts hierover en die even bekijken brengt je vele malen sneller tot een oplossing dan hier steeds een dag te wachten tot je weer een stapje verder kunt.
Dieter Martens
29/12/2014 19:31:09Ik heb ook een verbinding maar ik post niet mijn hele script omdat het redelijk nutteloos is... mysql en PDO hebben niet echt veel met elkaar te maken en ik zoek alleen een methode om deze functie in pdo te krijgen... ik ben al 3 dagen aan het zoeken voor een oplossing maar vind niks dat werkt...
Gerard M
30/12/2014 13:10:00Dieter Martens
02/01/2015 15:09:07Frank Nietbelangrijk
02/01/2015 15:16:00Dieter Martens op 02/01/2015 15:09:07:
een array
en wat staat er in de array?
Gewijzigd op 02/01/2015 15:16:41 door Frank Nietbelangrijk
Gerard M
02/01/2015 15:34:54Ik vrees dat je iets in de trend zoals hieronder moet gaan uitvoeren. Mooi is anders, prepared statements laten wat steekjes vallen hier en daar.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$db = "example";
$a = array(1,2,3);
$b = array(5,6,7,8);
$A = implode(array_fill(0, count($a), "?"), ",");
$B = implode(array_fill(0, count($b), "?"), ",");
$dbww = "SELECT * FROM ? WHERE test1 IN({$A}) AND test2 IN({$B}) ORDER BY rand() LIMIT 1";
$statement = $pdo->prepare($dbww);
$statement->execute(array_merge(array($db), $a, $b));
print $dbww;
?>
$db = "example";
$a = array(1,2,3);
$b = array(5,6,7,8);
$A = implode(array_fill(0, count($a), "?"), ",");
$B = implode(array_fill(0, count($b), "?"), ",");
$dbww = "SELECT * FROM ? WHERE test1 IN({$A}) AND test2 IN({$B}) ORDER BY rand() LIMIT 1";
$statement = $pdo->prepare($dbww);
$statement->execute(array_merge(array($db), $a, $b));
print $dbww;
?>
Gewijzigd op 02/01/2015 15:39:46 door Gerard M