i trying pass data data base using array, keep getting error. checked code see if missing column doesn't it. doing wrong?
<?php class inventario { public function __construct() {} public function insertar($info) { if(isset($info)) { $db_host = 'localhost'; $db_user = 'root'; $db_pass = 'root'; $db_name = 'inventory_cars'; $db_link = mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die('no connection'); $clean_info = mysqli_real_escape_string($db_link, array_values($info)); $query = mysqli_query( $db_link, "insert cars(date, stock, year, make, model, vin, cr) values('" . (string)$clean_info. "')") or die(mysqli_error($db_link)); if($query) { return 'record inserted'; } mysqli_close($db_link); } else { echo 'info variable not set'; } } public function table() { $action = $_server['php_self']; $table = '<form name="insertar" method="post" action="' . $action . '"><table><tr><td>date</td><td><input type="date" name="date"/></td></tr><tr><td>stock#</td><td><input type="text" name="stock"/></td></tr><tr><td>year:</td><td><input type="text" name="year"/></td></tr><tr><td>make:</td><td><input type="text" name="make"/></td></tr><tr><td>model:</td><td><input type="text" name="model"/></td></tr><tr><td>vin:</td><td><input type="text" name="vin"/></td></tr><tr><td>cr:</td><td><input type="text" name="cr"/></td></tr><tr><td><input type="submit" value="submit" name="submit"/></td></tr></table></form>'; return $table; } public function stock_list() { $db_host = 'localhost'; $db_user = 'root'; $db_pass = 'root'; $db_name = 'inventory_cars'; $db_link = mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die('no connection'); $query = "select * cars"; $result = mysqli_query($db_link, $query) or die('query fail.. please wait...'); while($row = mysqli_fetch_array($result)) { echo '<tr><td>' . $row['date'] . '</td><td>' . $row['year'] . '</td><td>' . $row['make'] . '</td><td>' . $row['model'] . '</td><td>' . $row['vin'] . '</td><td><a href="' . $row['cr'] . '">cr</a></td></tr>'; } mysqli_close($db_link); } } ?> <?php require('inventorycontrol.php'); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>inventory</title> <!--[if lt ie 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> </head> <body> <div id="wraper"> <div class="add_item"> <?php $inventario = new inventario; echo $inventario->table(); if (isset($_post['submit'])) { $info = array('date' => $_post['date'], 'stock' => $_post['stock'], 'year' => $_post['year'], 'make' => $_post['make'], 'model' => $_post['model'], 'vin' => $_post['vin'], 'cr' => $_post['cr']); if(isset($info)) { $inventario->insertar($info); } else { echo 'variable not set'; } } ?> </div><!--end add item --> <div class="inventory_list"> <?php echo '<table>'; $inventario->stock_list(); echo '</table>'; ?> </div><!--end inventory_list --> </div><!--end wraper --> </body> </html>
it looks you're passing "submit" value, too.
output $clean_info
screen (before run query) debug it.