faker library and Prepared Statement Not Working with no errors Being Displayed

72 Views Asked by At

hi I am using the Faker library to generate random data to populate a table for a project I am working on, as you can see I am preparing the statement then setting all the variables for the statement in a array. finally I am executing the statement, Yet Noting happens any idea why its got me very confused.

<?php 
require('/vendor/autoload.php');
//Create New Instance Of Faker
$faker = Faker\Factory::create();
//Connect to Database
$conn = connect();

for ($i=1; $i < 10; $i++){
    $query = "INSERT INTO nightsout_venues (name, type, descripton , username)
     VALUES(:name, :type, :descripton, :username)";
    $stmt = $conn->prepare($query);
    $Type = array("restaurant","pub","club","cafe");
    $randomtype = array_rand($Type);
    //Creating Array Of values
    // For Prepared Statement
    $arg = 
        array(
            ':name'       => $faker -> company,
            ':type'       => $Type[$randomtype],
            ':descripton' => $faker -> paragraph(5),
            ':username'   => $faker -> freeemail,
        );

    //Executing the statement
    $stmt->execute($arg);   
}
?>

many thanks in advance Matt

1

There are 1 best solutions below

0
On BEST ANSWER

As per OP's wish,

Make sure you haven't made a typo error for "descripton", if your column is called "description".

As far as I can tell, your code looks good to me.

Plus, quoting Ghost in regards to error exceptions:

"make sure PHP's error reporting is turned on, and add $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); after $conn".