У меня есть запрос SELECT MySQL, который я хотел бы повторить в PHP. Как мне это сделать? Я пробовал все, что указано в справочном центре PHP.net, но я либо не понимаю, либо это не то, что я ищу.
Редактировать:
$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = " . $gameId; $result = mysqli_query($mySqlConnection,$sql); var_dump($result);
Если вы пытаетесь выполнить эхо-запрос, вам лучше всего создать запрос в переменной, а затем повторить переменную.
$sql = "SELECT * FROM TABLE"; echo $sql;
Если вы хотите увидеть результат, вы можете использовать var_dump ();
$results = mysqli_query($sql); var_dump($results);
В ответ на ваше редактирование: mysqli_query возвращает false при возникновении ошибки.
Используйте этот фрагмент кода, чтобы увидеть ошибку.
if (!$mysqli->query("SET @a:='this will not work'")) { printf("Error: %s\n", $mysqli->error); die(); } $results = mysqli_query($sql); var_dump($results);
Я получил это из руководства PHP: http://php.net/manual/en/mysqli.query.php
Используйте mysqli, потому что mysql скоро не будет существовать.
Для подключения к базе данных:
$sqlHost = 'localhost'; $sqlUser = 'root'; $sqlPass = ''; $conn = new mysqli($sqlHost, $sqlUser, $sqlPass, 'db_name') ; if($conn->connect_errno){ printf("Connect failed: %s\n", $conn->connect_error); exit(); }
Чтобы выполнить запрос и распечатать его:
$result = $conn->query("SELECT * FROM someTable") or trigger_error($conn->error); $row = $result->fetch_array(MYSQL_BOTH); echo $row['something']; // or echo $row[1]
редактировать
Ваш запрос неверен. Это должно быть так
$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = '" . $gameId ."';
Вы забыли « после игры»
Вероятно, вам сначала нужно открыть соединение с вашим сервером MySQL.
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database"); if ($result = $mysqli->query("SELECT * FROM someTable")) { var_dump($result); $result->close(); }
Для этого требуется, чтобы PHP был настроен с расширением mysqli
.
Если вы var_dump переменную $ result, это объект результата mysqli. Если вы хотите вернуть данные, вам необходимо передать результат функции mysqli_fetch_.
Для этого я использую функцию list. Пример кода:
while(list($id, $name, $email, $telephone, $age) = mysql_fetch_row($result)){ echo "$id <br>"; echo "$name <br>"; echo "$email <br>"; echo "$telephone <br>"; echo "$age <br>"; }
public function SELECT($tableName,$conditions){ $connection = mysqli_connect($hostname, $userName, $password,$dbName); try { if (!$connection) die("Connection failed: " . $connection->connect_error); else { $qry = ""; if(!$this->IsNullOrEmptyString($conditions)) $qry = "SELECT * FROM `".$tableName."` WHERE ".$conditions; else $qry = "SELECT * FROM `".$tableName."`"; $result = mysqli_query( $connection, $qry); if($result) { $emparray = array(); while($row =mysqli_fetch_assoc($result)) $emparray[] = $row; echo(json_encode($emparray)); } else echo(mysqli_error($connection)); } mysqli_close($connection); } catch(Exception $ex) { mysqli_close($connection); echo($ex->getMessage()); } }