我想將一個小文件從mysql轉換爲mysqli。這是我到目前爲止,但它不起作用。有人可以檢查它看看有什麼問題嗎?需要幫助完成從mysql到mysqli的轉換
$mysqli = new mysqli("localhost", "some_name", "password", "some_db");
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
session_start();
if(isset($_SESSION['userid'])){
$user = mysqli_real_escape_string($mysqli, $_SESSION['userid']);
// Retrieves variables through AJAX
$favid = mysqli_real_escape_string($mysqli, $_GET['favid']);
// Check if it is favored
$query = $mysqli->prepare("SELECT * FROM favorites WHERE user='$user'");
$query->execute();
$query->store_result();
$userows = $query->num_rows;
$query = $mysqli->prepare("SELECT * FROM favorites WHERE user='$user' AND favid='$favid'");
$query->execute();
$query->store_result();
$matches = $query->num_rows;
// If it is favored, add
if($matches == 0 && $userows < 30){
$mysqli->prepare("INSERT INTO favorites (user, favid, exptime) VALUES ('$user', '$favid', CURRENT_TIMESTAMP)");
echo "";
}
// If it is favored, delete
if($matches != 0){
$mysqli->prepare("DELETE FROM favorites WHERE user='$user' AND favid='$favid'");
echo "";
}
} else {
echo "Invalid session!";
}
原始(mysql)代碼正常工作。這只是我沒有足夠的經驗與mysqli。
您的代碼可能包含語法錯誤。 請查閱以下鏈接http://php.net/manual/en/mysqli.error.php和http://php.net/manual/en/function.error-reporting.php 並將其應用於您的代碼。 –
您正在過程式PHP和麪向對象的PHP之間切換(您不應該)('mysqli_real_escape_string') – HPierce
[您的腳本存在SQL注入攻擊的風險。](http://stackoverflow.com/questions/60174/如何我可以防止SQL注入在PHP) –