1

I have a 4 column mysql table, the leftmost being the autoincrement column and I'd like to get the variable value for a column called extra for the highest auto increment value. I believe the SQL query will be:

Select extra FROM motoron2 ORDER BY id DESC LIMIT 1"

    $conn = new mysqli('localhost', 'myuser', 'mypass', 'mydb');    
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    $sql = "SELECT extra FROM motoron2 ORDER BY id DESC LIMIT 1";
    $stmt = $conn->prepare($sql); 
    $stmt->execute();
    $result = $stmt->get_result(); // get the mysqli result
    $variablevalue = $result->fetch_assoc(); // fetch the data 
    echo "The variable is converted to a string and its value is $variablevalue.";
    // set parameters and execute

When try to echo "The variable is converted to a string and its value is $variablevalue." I see: The variable is converted to a string and its value is Array I am expecting to see an integer here, what am I doing wrong?

Dharman
  • 30,962
  • 25
  • 85
  • 135
  • 1
    Read https://www.php.net/manual/en/mysqli-result.fetch-assoc.php and note that it says: _"Returns an associative array..."_ so it's not clear why you expected it to say anything other than `Array` there? Or did you not read the documentation? – ADyson Apr 01 '22 at 16:46

1 Answers1

2

The fetch_assoc() function returns an associative array so you would access the value by the name of the column:

$variablevalue['extra'];

cOle2
  • 4,725
  • 1
  • 24
  • 26