2016-02-15 53 views
1

我是全新的PHP/MySQL。
我从为什么这个PHP代码不会将数据添加到MySQL数据库?

http://www.johnmorrisonline.com/how-to-insert-form-data-into-a-mysql-database-using-php/

(顺便说一句伟大的教程)得到这个代码,并使用它。问题是它运行平稳(没有错误),但它不会将新行添加到数据库。我试图简化代码来弄清楚。如果我运行查询PHPMyAdmin它工作正常(它增加了一个新的行),但从浏览器(PHP脚本)不会。
我不能说出了什么问题。
我在我的MBP计算机上使用MAMP。
非常感谢
贝尼特斯

下面的代码:

<?php 
$mysqli = mysqli_init(); 
if (!$mysqli) { 
die('mysqli_init failed'); 
} 

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {  
die('Setting MYSQLI_INIT_COMMAND failed'); 
} 

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) { 
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed'); 
} 

if (!$mysqli->real_connect('localhost', 'root', 'root', 'procedimientos')) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
      . mysqli_connect_error()); 
} 

echo 'Success... ' . $mysqli->host_info . "\n"; 

// Insert our data 
    $sql = "INSERT INTO PROCEDIMIENTOS (`RUT`) VALUES ('1587');"; 
    $insert = $mysqli->query($sql); 





    // Print response from MySQL 
    if ($insert) { 
    echo "Success!"; 
    } else { 
    die("Error: {$mysqli->errno} : {$mysqli->error}"); 
    } 

$mysqli->close(); 
?> 
+0

你可以把你的表的描述?名字和所有......? – jpganz18

+0

查看你的错误日志,你会发现问题。 –

+3

我猜你忘了调用'$ mysqli-> commit();' – simon

回答

1

你必须$mysqli->close();之前添加$mysqli->commit();,以保存更改DB。

1

你有这样对你的代码的顶部:

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {  
    die('Setting MYSQLI_INIT_COMMAND failed'); 
} 

换句话说,你包装你做对MySQL服务器在一个事务中的一切。

的选项有:

相关问题