0

I just got into PHP and I want to make a simple data look up script. This is the code I am using now in an index.php file.

<?php
    $mysqlHost = 'localhost';
    $mysqlUser = 'root';
    $mysqlPass = 'password';
    $mysqlDatabase = 'core';

    $conn = new mysqli($mysqlHost, $mysqlUser, $mysqlPass, $mysqlDatabase);
    if ($conn -> connect_error)
        die('Connection Failed: ' . $conn -> connect_error);

    $sql = 'SELECT * FROM users WHERE name = SimonM34';
    $result = $conn -> query($sql);

    if ($result -> num_rows > 0) {
        $row = $result -> fetch_assoc();
        $rawJson -> name = $row['name'];
        $rawJson -> rank = $row['rank'];
        $rawJson -> subrank = $row['subrank'];
        $rawJson -> balance = $row['balance'];
        $json = json_encode($rawJson);
        echo $json;
    } else {
        echo 'No users found!';
    }

    $conn -> close();

?>

This always shows No users found but if I change the statement to SELECT * FROM users it returns {"name":"SimonM34","rank":"Guest","subrank":"None","balance":"500"} which is very weird and I cannot figure out why this happens.

Thank you

1 Answers1

0

The problem is in your query:

$sql = 'SELECT * FROM users WHERE name = SimonM34';

You are comparing a string value without quotes. Replace your query with something like this:

$sql = 'SELECT * FROM users WHERE name = "SimonM34"';

That's the only problem I suppose.

Ketan Malhotra
  • 1,255
  • 3
  • 16
  • 44