0

PHP を学習するための Web サイトを構築しており、メンバーシップ アプリを構築しました。

これは、ユーザーがログインしたときに設定したユーザー Cookie を取得するためのコードです。次に、関連付けられている biz というビジネス ID を取得し、companyという名前のテーブルで、bizに等しい ID を持つビジネスのすべての詳細を検索します。: (ところで、私は mysql を使用していることを知っていますが、アプリを完成させるときに、PDO または mysqli に切り替えます)

<?
$auth = $_COOKIE["auth"];
if ($auth != "1"){
    header("Location: ./signin.php");
}
//Grab all the cookies

$firstname = $_COOKIE['firstname'];
$id = $_COOKIE['id'];
$fname = ucwords($_COOKIE['firstname']);
$lname = ucwords($_COOKIE['lastname']);
$email = $_COOKIE['email'];
$city = ucwords($_COOKIE['city']);
$biz = $_COOKIE['biz'];

if(!empty($biz)){
    $donthaveabizyet = "false";
}
else{
    include("./config.php");
    $result = mysql_query("SELECT * FROM company WHERE id = '$biz'") or mysql_error();
    while($row = mysql_fetch_array($result))
    {
           $business_name = $row['name'];
           $business_phone = $row['phone'];
           $business_website = $row['website'];
           $business_phone = $row['phone'];
           $business_cat1 = $row['cat1'];
           $business_cat2 = $row['cat2'];
           $business_cat3 = $row['cat3'];
           $business_subcat1 = $row['subcat1'];
           $business_subcat2 = $row['subcat2'];
           $business_subcat3 = $row['subcat3'];
           $business_email = $row['email'];
           $business_product1 = $row['product1'];
           $business_product2 = $row['product2'];
           $business_product3 = $row['product3'];
           $business_product4 = $row['product4'];
           $business_product5 = $row['product5'];
           $business_product6 = $row['product6'];
           $business_product7 = $row['product7'];
           $business_noaddress = $row['noaddress'];
           $business_address = $row['address'];
           $business_address2 = $row['address2'];
           $business_zipcode = $row['zipcode'];
           $business_city = $row['city'];
    }
    $result = mysql_query("SELECT * FROM company_secondary WHERE company_id = '$biz'") or mysql_error();
    while($row = mysql_fetch_array($result))
    {
           $business_description = $row['company_description'];
           $business_since = $row['phone'];
           $business_logo = $row['logo'];
           $business_since = $row['since'];
           $business_smoking = $row['smoking'];
           $business_delivery = $row['delivery'];
           $business_alcohol = $row['alcohol'];
           $business_kids = $row['kids'];
           $business_wheelchair = $row['wheelchair'];
           $business_twitter = $row['twitter'];
           $business_facebook = $row['facebook'];
           $business_youtube = $row['youtube'];
           $business_creditcards = $row['creditcards'];
           $business_outdoor = $row['outdoor'];
           $business_featured = $row['featured'];
     }
}
?>

ここで、ユーザーのビジネス ID が 0 の場合は claim.php へのリンクを表示します。ユーザーのビジネス ID が設定されている場合は、ビジネスの名前を表示します。

<?php 
if($donthaveabizyet != "false")
{
     echo "<br/><br/>You haven't claimed a business yet. <a href='claim.php'>Click here to claim one now.</a>";
}
else
{
     echo $business_name;
}
?>

残念ながら、$business_name は表示されておらず、エラーはNotice: Undefined variable: business_nameです。business_name が設定されていないのはなぜですか?

すべての助けに感謝します!!

4

1 に答える 1

2
while($row = mysql_fetch_array($result))
{

あなたの問題を引き起こしています。に変更します

while($row = mysql_fetch_assoc($result))
{

これは、fetch_array が数値インデックス ($array[1]、$array[2] など) を持つ配列を作成するためです。fetch_assoc は、インデックスを列名と同じにします ($array['this']、$array['that'] など)。

于 2012-08-06T23:58:13.710 に答える