PHPize Online / SQLize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE somewhere ( id INT AUTO_INCREMENT, name VARCHAR(100), PRIMARY KEY (id) ); INSERT INTO somewhere(id, name) VALUES (1, 'Chad'), (4, 'Ned'), (5, 'Dave'), (14, 'Newt'), (18, 'Bill'), (21, 'Norton'), (25, 'Alan');
Copy Clear
Copy Format Clear
<?php // $mysqli is already declared as a working database connection by this sandbox $ids = [1, 5, 18, 25]; $count = count($ids); $params = array(); foreach ($ids as $key => $val) { $params[':id_' . $key] = $val; } $inQuery = implode(', ', array_keys($params)); var_dump($params); if ($count) { $placeholders = implode(',', array_fill(0, $count, '?')); $query = 'SELECT name FROM somewhere WHERE id IN (' . $inQuery . ') ORDER BY name'; echo $query; //$stmt = $mysqli->prepare("$sql WHERE id IN ($placeholders) $orderBy"); $stmt = $mysqli->prepare($query); $stmt->execute($params); //$stmt->execute(); /* $stmt->bind_param(str_repeat('i', $count), ...$ids); $stmt->execute();*/ $result = $stmt->get_result(); } else { $result = $mysqli->query("$sql $orderBy"); // a prepared statement is unnecessary } foreach ($result as $row) { echo "<div>{$row['name']}</div>\n"; }
Show:  
Copy Clear