Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

196
Vistas
Fatal error: Call to a member function bind_param() on a non-object, JSON Array

I've searched this here and on the internet but can't find a solution.

I'm posting a JSON array like :

[{"phone_number":"+12345678"},
 {"phone_number":"+23456789"},
 {"phone_number":"34567890"},
 {"phone_number":"45678901"} 
 etc... etc...

Here's my code :

<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require('dbConnect.php');

//post all contacts in my phone as a JSON array
$json = $_POST['phonenumber'];
$array = json_decode($json);

    foreach ($array as $value)
    {
        $phonenumber = $value->phone_number;

$stmt = $con->prepare('SELECT * FROM user WHERE username = ?');
$stmt->bind_param('s', $phonenumber);
$stmt->execute(); 
echo $phonenumber . "<br>";
var_dump($stmt);
}
?>

Only the first phone number in the array echos properly. Then I get :

object(mysqli_stmt)#131 (10) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> int(2) ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["sqlstate"]=> string(5) "00000" ["id"]=> int(1) } 
Fatal error: Call to a member function bind_param() on a non-object in /var/www/html/checkcontact.php on line 28

Line 28 is : $stmt->bind_param('s', $phonenumber);

When I use this code (not safe though) it works fine, all the phone numbers get echoed correctly :

<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require('dbConnect.php');

//post all contacts in my phone as a JSON array
$json = $_POST['phonenumber'];
$array = json_decode($json);

    foreach ($array as $value)
    {
        $phonenumber = $value->phone_number;

                $sql = "SELECT * FROM user WHERE username = '$phonenumber'";
        $result = mysqli_query($con, $sql);


echo $phonenumber . "<br>";

    } 
        ?>
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda