Вы никогда не готовили его. null
никогда не объявляется. Это и есть причина для предупреждения.if($stmt=$conn->prepare( "INSERT INTO user (fname, lname, memo, file) VALUES (:fname, :lname, :memo, :file) ON DUPLICATE KEY UPDATE memo=:memo2" ) ){ // ... make sure you bind :memo2 as well. // don't load values into execute() // remove this line: $stm->execute(array(":fname" => $fname, ":hash" => $hash, ":memo" => $memo, ":memo2" => $memo)); // use if($stmt->execute()){... }
A±