[英]Saving a record from php and mysql
我正在嘗試從查詢中保存一些值:
$query = mysqli_query($conex, "SELECT * FROM acceso WHERE usuario = '$user' AND contrasenia = '$pass'");
if (mysqli_num_rows($query) > 0)// mysqli_num_rows > 0
{
$fila = mysql_fetch_assoc($query)
$_SESSION["id_usuario_cms"] = $fila ['idacces'];
$_SESSION["usuario_cms"] = $fila ['user'];
echo '<script>location.href = "admin/index.php"</script>';
}
但這不起作用。 有任何想法嗎?
我看到一個潛在的問題和一個明顯的問題。
可能是您是否已開始會話。
session_start();
必須在所有使用會話的文件中使用; 您的問題中沒有提到。 如果它不屬於您的文件,請添加它。
顯而易見的是,您正在使用mysql_
函數與顯示的其余代碼mysqli_
。 這些不同的功能不會相互混合。
mysql_fetch_assoc
必須與其mysqli_
等效, mysqli_fetch_assoc
。
您應該為此使用mysqli_fetch_array
。
為了使用mysqli_fetch_assoc
,應該在while
循環中設置它。
手冊中的示例:
/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
如果您想使用mysqli_fetch_array
:
手冊中的示例:
/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
將錯誤報告添加到文件頂部,這將有助於發現錯誤。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
在mysqli_query()
包含or die(mysqli_error($conex))
mysqli_query()
。
旁注:錯誤報告僅應在登台進行,而不應在生產過程中進行。
您必須同時使用mysqli_fetch_array($ query)和 session_start()
$query = mysqli_query($conex, "SELECT * FROM acceso WHERE usuario = '$user' AND contrasenia = '$pass'");
if (mysqli_num_rows($query) > 0)// mysqli_num_rows > 0
{
$fila = mysqli_fetch_array($query)
$_SESSION["id_usuario_cms"] = $fila ['idacces'];
$_SESSION["usuario_cms"] = $fila ['user'];
echo '<script>location.href = "admin/index.php"</script>';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.