它不打印結果。不知道爲什麼。一切都整齊地評論php已準備好聲明
我得到沒有錯誤顯示,沒有語法褻瀆,它只是不打印任何結果。但是,我知道值通過表單傳遞給這個處理php頁面,所以錯誤不在那裏。在數據庫中,我已經加密了除「公司」之外的所有字段 - 因此,我想通過嘗試獲取結果來查看這是否會起作用。
// 1. Creating a new server connection
$db = new mysqli('localhost', 'root', '', 'developers');
if ($db->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
// 2, Creating statement object
$stmt = $db->stmt_init();
// 3, Creating a prepared statement
if($stmt->prepare("SELECT company FROM accesoweb WHERE username = AES_DECRYPT(?, 'salt')")) {
//4. Binding the variable to replace the ?
$stmt->bind_param('s', $username);
printf("Error: %d.\n", $stmt->errno);
// 5. Executing query
$stmt->execute();
// 6. Binding the result columns to variables
$stmt->bind_result($company);
// 7. Fetching the result of the query
while($stmt->fetch()) {
echo $company;
}
// 8. Closing the statement object
$stmt->close();
// 9. Closing the connection
$mysqli->close();
}
,我只是包含在MySQL中插入代碼爲:
INSERT INTO accesoweb (company, username,email,password)
VALUES
('hola',
AES_ENCRYPT('maria','salt'),
AES_ENCRYPT('sumail','salt'),
AES_ENCRYPT('password',' salt')
);
因此,上述(該行實際上,該「公司」是什麼,我試圖恢復通過PHP代碼
是PHP或配置爲輸出錯誤的Web服務器?嘗試帶有調試跟蹤的簡單腳本,逐步添加代碼以查看哪條線路失敗。 – Jake
好吧,當我寫錯了,它抱怨,它一直在抱怨,它只是因爲'大概'我擦除了所有的錯誤而停止。其實我有這個:error_reporting(E_ALL | E_STRICT); ini_set('display_errors','On');在我的腳本頂部 – iaintunderstand
如果我沒有記錯,'prepare'是MySQLi對象的一種方法,而不是MySQLiStatement對象。 –