web-dev-qa-db-fra.com

Résultat de l'écho de la requête MySQL SELECT

J'ai une requête SELECT MySQL que je voudrais faire écho en PHP. Comment pourrais-je faire ça? J'ai essayé tout ce qui est répertorié sur le centre d'aide PHP.net, mais je ne le comprends pas ou ce n'est pas ce que je recherche.

$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = " . $gameId;
$result = mysqli_query($mySqlConnection,$sql);
var_dump($result);

J'ai juste essayé d'utiliser var_dump, mais il retourne bool(false) au lieu des 2 qu'il devrait retourner

7
user2850226

Si vous essayez de faire écho à une requête, il vaut mieux créer la requête dans une variable, puis faire écho à la variable.

$sql = "SELECT * FROM TABLE";

echo $sql;

Si vous voulez voir le résultat, vous pouvez utiliser var_dump ();

$results = mysqli_query($mySqlConnection, $sql);
var_dump($results);

En réponse à votre modification: mysqli_query retourne false en cas d'erreur.

Utilisez cet extrait de code pour voir l'erreur.

if (!$mysqli->query("SET @a:='this will not work'")) {
  printf("Error: %s\n", $mysqli->error);
  die();
}

$results = mysqli_query($mySqlConnection, $sql);
var_dump($results);

Je l'ai obtenu du manuel PHP: http://php.net/manual/en/mysqli.query.php

9

Utilisez mysqli car mysql n'existera bientôt plus.

Pour vous connecter à la base de données:

$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();
}

Pour faire une requête et l'imprimer:

 $result = $conn->query("SELECT * FROM someTable")
        or trigger_error($conn->error);
$row = $result->fetch_array(MYSQL_BOTH);
echo $row['something']; // or echo $row[1]

Modifier

Votre requête est fausse. Ça devrait être comme ça

$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = '" . $gameId ."';

Vous avez oublié ' après gameId

2
araj

Vous devez probablement ouvrir une connexion à votre serveur MySQL en premier.

$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database");

if ($result = $mysqli->query("SELECT * FROM someTable")) {
    var_dump($result);
    $result->close();
}

Cela nécessite PHP d'être configuré avec l'extension mysqli.

0
mushroom

Si vous var_dump la variable $ result c'est un objet result mysqli. Si vous souhaitez renvoyer les données, vous devrez transmettre le résultat à une fonction mysqli_fetch_.

0