keep getting error that parameter 2 is null and can not be null OR Cannot pass parameter 2 by reference
thoughts are appreciated

I changed all the variable types to string (thus the 'sss....') just to make sure it wasn't an alignment issue

I have tried this code with and without quotes and single quotes, same issues.

if ($stmt->prepare("INSERT INTO service (firstname, lastname, email, phone, greeted_promptly, timely_completion, satisfied, recommend, eighteen_or_older, manager_contact) VALUES (?, ?, ?, ?,?, ?, ?,?, ?, ?)")) {
Print_r ($_SESSION); 
$stmt->bind_param('ssssssssss', '$firstname', '$lastname', '$email', '$phone', '$greeted_promptly', '$timely_completion', '$satisfied', '$recommend', '$eighteen_or_older', '$manager_contact');   
$stmt->execute();}

    First issue with the code that I see is that you're binding a bunch of strings that contain a dollar sign followed by one or more words. Perhaps you meant to bind the values of some variables instead?

      And why the print_r() of $SESSION? Perhaps you want to be binding to session elements? E.g.:

      $stmt->bind_param('ssssssssss', $_SESSION['firstname'], $_SESSION['lastname'], etc.....);
      
        Write a Reply...