What's new

Anu kaya ibig sabihin ng error na to phc robot

loktoy

Eternal Poster
Joined
Oct 20, 2014
Posts
1,168
Solutions
2
Reaction
103
Points
497
Age
30
anu kaya ibig sabihin ng error na to pano mafix

Fatal error: Uncaught TypeError: mysqli_fetch_array(): Argument #1 ($result) must be of type mysqli_result, array given in C:\xampp\htdocs\Innerjoin\user\replies.php:47 Stack trace: #0 C:\xampp\htdocs\Innerjoin\user\replies.php(47): mysqli_fetch_array(Array) #1 {main} thrown in C:\xampp\htdocs\Innerjoin\user\replies.php on line 47
ito code nya

<?php
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment' ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());
$content_row = mysqli_fetch_array($post_query);
while($post_row = mysqli_fetch_array($content_row)){
$id = $post_row['comment_id'];
$upid = $post_row['user_id'];
$posted_by = $post_row['username'];
if (mysqli_num_rows($content_query) > 0) {
// Code to display the content
echo '<div class="container col-md-6 bg-body-tertiary border rounded-3">'.$content_row['comment'].'</div>';
} else {
// Code to handle when no content is found

}

?>
 
Ang error na ito ay nagmumula sa function na mysqli_fetch_array(). Ang error message ay nagsasabi na ang argument #1 na dapat ay mysqli_result, ay naging array sa halip. Ito ay nangyayari sa linya 47 ng file na replies.php.

Ang posibleng dahilan ng error na ito ay hindi tamang paggamit ng mysqli_fetch_array(). Ang function na ito ay dapat gamitin lamang sa mga resulta ng query na mysqli_query(), na dapat ay isang mysqli_result object.

Upang maresolba ang error na ito, maaari mong baguhin ang linya 47 na ito:

PHP:
$content_row = mysqli_fetch_array($post_query);

at palitan ito ng:

PHP:
$content_row = mysqli_fetch_assoc($post_query);

Ang function na mysqli_fetch_assoc() ay gagawin ang parehong trabaho ng mysqli_fetch_array(), ngunit ito ay magreresulta lamang ng associative array (array na naglalaman ng mga key-value pairs) at hindi ng indexed array. Ito ay mas wasto na gamitin sa kaso ng query result.

Tiyaking isaayos din ang iba pang mga bahagi ng code na gumagamit ng $content_row upang gamitin ang tamang syntax.
 
Ang error na ito ay nagmumula sa function na mysqli_fetch_array(). Ang error message ay nagsasabi na ang argument #1 na dapat ay mysqli_result, ay naging array sa halip. Ito ay nangyayari sa linya 47 ng file na replies.php.

Ang posibleng dahilan ng error na ito ay hindi tamang paggamit ng mysqli_fetch_array(). Ang function na ito ay dapat gamitin lamang sa mga resulta ng query na mysqli_query(), na dapat ay isang mysqli_result object.

Upang maresolba ang error na ito, maaari mong baguhin ang linya 47 na ito:

PHP:
$content_row = mysqli_fetch_array($post_query);

at palitan ito ng:

PHP:
$content_row = mysqli_fetch_assoc($post_query);

Ang function na mysqli_fetch_assoc() ay gagawin ang parehong trabaho ng mysqli_fetch_array(), ngunit ito ay magreresulta lamang ng associative array (array na naglalaman ng mga key-value pairs) at hindi ng indexed array. Ito ay mas wasto na gamitin sa kaso ng query result.

Tiyaking isaayos din ang iba pang mga bahagi ng code na gumagamit ng $content_row upang gamitin ang tamang syntax.
same pa din yun error
 
same pa din yun error
Kung patuloy na nagkakaroon ng parehong error, maaaring may ibang isyu sa code na hindi pa na-address. Narito ang ilang mga posibleng solusyon na maaari mong subukan:

1. Tiyaking ang variable na $post_query ay may tamang resulta mula sa query. Maaaring gamitin ang function na mysqli_num_rows() upang suriin kung may mga resulta ang query.

Halimbawa:
PHP:
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment'  ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());
   
   if(mysqli_num_rows($post_query) > 0) {
       // May mga resulta ang query, magpatuloy sa iba pang bahagi ng code
   } else {
       // Walang resulta, maaaring magdagdag ng error handling o ibang mga hakbang na gustong gawin
   }

2. Tiyaking ang variable na $content_row ay hindi naging null pagkatapos ng pagtawag ng mysqli_fetch_assoc().

Halimbawa:
PHP:
$content_row = mysqli_fetch_assoc($post_query);
   
   if($content_row) {
       // Magpatuloy sa iba pang bahagi ng code
   } else {
       // Maaaring magdagdag ng error handling o ibang mga hakbang na gustong gawin
   }

3. Surin ang iba pang mga bahagi ng code na gumagamit ng $content_row upang matiyak na tama ang paggamit nito. Siguraduhin na ang mga key na ginagamit ay tumpak at hindi nagkakamali ng pangalan o pag-access sa mga elemento ng array.

Maaari rin naming malaman ang iba pang detalye tungkol sa iyong code o magbigay ng karagdagang impormasyon upang mas maunawaan ang posibleng mga sanhi ng error.
 
Kung patuloy na nagkakaroon ng parehong error, maaaring may ibang isyu sa code na hindi pa na-address. Narito ang ilang mga posibleng solusyon na maaari mong subukan:

1. Tiyaking ang variable na $post_query ay may tamang resulta mula sa query. Maaaring gamitin ang function na mysqli_num_rows() upang suriin kung may mga resulta ang query.

Halimbawa:
PHP:
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment'  ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());
  
   if(mysqli_num_rows($post_query) > 0) {
       // May mga resulta ang query, magpatuloy sa iba pang bahagi ng code
   } else {
       // Walang resulta, maaaring magdagdag ng error handling o ibang mga hakbang na gustong gawin
   }

2. Tiyaking ang variable na $content_row ay hindi naging null pagkatapos ng pagtawag ng mysqli_fetch_assoc().

Halimbawa:
PHP:
$content_row = mysqli_fetch_assoc($post_query);
  
   if($content_row) {
       // Magpatuloy sa iba pang bahagi ng code
   } else {
       // Maaaring magdagdag ng error handling o ibang mga hakbang na gustong gawin
   }

3. Surin ang iba pang mga bahagi ng code na gumagamit ng $content_row upang matiyak na tama ang paggamit nito. Siguraduhin na ang mga key na ginagamit ay tumpak at hindi nagkakamali ng pangalan o pag-access sa mga elemento ng array.

Maaari rin naming malaman ang iba pang detalye tungkol sa iyong code o magbigay ng karagdagang impormasyon upang mas maunawaan ang posibleng mga sanhi ng error.
ito po walang output kapag nag popost_content ako

<?php
ob_start();
include "../partials/newnav.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Homepage</title>
<link rel= "stylesheet" href="../css/bootstrap.css">
<link rel= "stylesheet" href="../css/style.css">
<script src="../js/bootstrap.bundle.js"></script>
<script src="../js/style.js"></script>
<script src="../ajax/sweetalert2.all.min.js"></script>
<script src="../ajax/jquery-3.7.0.min.js"></script>

</head>
<body>
<div class="container col-md-6 text-center">
<br>
<h1>WELCOME To My Thread!</h1>

<br>

<br>
</div>
<?php
if(isset($_GET['id'])){
$id_comment = $_GET['id'];
// Query to fetch the specific content based on the comment_id
?>
<?php
if (isset($_POST['post'])){
$page_content = mysqli_real_escape_string($con,$_POST ['post_content']);
$pagecontent = mysqli_real_escape_string($con,$_POST ['postcontent']);



mysqli_query($con,"INSERT INTO post (comment,title,date_created,user_id) values ('$page_content','$pagecontent','".strtotime(date("Y-m-d h:i:sa"))."','$user_id') ")or die(mysqli_error());

}

?>
<?php
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment' ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());

while($post_row = mysqli_fetch_array($post_query)){
$id = $post_row['comment_id'];
$upid = $post_row['user_id'];
$posted_by = $post_row['username'];
?>
<div class="container col-md-6 bg-body-tertiary border rounded-3" >
<a style="text-decoration:none; float:left;" href="deletepost.php<?php echo '?id='.$id; ?>">
<div class="pt-3">
Posted by: <a href="#" style= "margin-left:10px; text-decoration:none;"> <?php echo $posted_by; ?></a>
<div class="" style="font-size:12px;">

<br>
<h6><?php echo $post_row['comment'];?></h6>
 
ito po walang output kapag nag popost_content ako

<?php
ob_start();
include "../partials/newnav.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Homepage</title>
<link rel= "stylesheet" href="../css/bootstrap.css">
<link rel= "stylesheet" href="../css/style.css">
<script src="../js/bootstrap.bundle.js"></script>
<script src="../js/style.js"></script>
<script src="../ajax/sweetalert2.all.min.js"></script>
<script src="../ajax/jquery-3.7.0.min.js"></script>

</head>
<body>
<div class="container col-md-6 text-center">
<br>
<h1>WELCOME To My Thread!</h1>

<br>

<br>
</div>
<?php
if(isset($_GET['id'])){
$id_comment = $_GET['id'];
// Query to fetch the specific content based on the comment_id
?>
<?php
if (isset($_POST['post'])){
$page_content = mysqli_real_escape_string($con,$_POST ['post_content']);
$pagecontent = mysqli_real_escape_string($con,$_POST ['postcontent']);



mysqli_query($con,"INSERT INTO post (comment,title,date_created,user_id) values ('$page_content','$pagecontent','".strtotime(date("Y-m-d h:i:sa"))."','$user_id') ")or die(mysqli_error());

}

?>
<?php
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment' ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());

while($post_row = mysqli_fetch_array($post_query)){
$id = $post_row['comment_id'];
$upid = $post_row['user_id'];
$posted_by = $post_row['username'];
?>
<div class="container col-md-6 bg-body-tertiary border rounded-3" >
<a style="text-decoration:none; float:left;" href="deletepost.php<?php echo '?id='.$id; ?>">
<div class="pt-3">
Posted by: <a href="#" style= "margin-left:10px; text-decoration:none;"> <?php echo $posted_by; ?></a>
<div class="" style="font-size:12px;">

<br>
<h6><?php echo $post_row['comment'];?></h6>
Sa code na ibinigay mo, hindi ko nakikita ang pagitan ng mga tag na naglalaman ng form para sa pag-post ng content. Kung wala ito, hindi magkakaroon ng output dahil walang nilalaman ang query na nagre-retrieve ng mga post.

Subukan mong idagdag ang sumusunod sa loob ng <body> tag para magkaroon ng form para sa pag-post ng content:

```php
<div class="container col-md-6">
<form method="POST" action="">
<div class="form-group">
<label for="post_content">Post Content:</label>
<textarea class="form-control" name="post_content" id="post_content" rows="5"></textarea>
</div>
<div class="form-group">
<label for="post_title">Post Title:</label>
<input type="text" class="form-control" name="post_title" id
 
Sa code na ibinigay mo, hindi ko nakikita ang pagitan ng mga tag na naglalaman ng form para sa pag-post ng content. Kung wala ito, hindi magkakaroon ng output dahil walang nilalaman ang query na nagre-retrieve ng mga post.

Subukan mong idagdag ang sumusunod sa loob ng <body> tag para magkaroon ng form para sa pag-post ng content:

```php
<div class="container col-md-6">
<form method="POST" action="">
<div class="form-group">
<label for="post_content">Post Content:</label>
<textarea class="form-control" name="post_content" id="post_content" rows="5"></textarea>
</div>
<div class="form-group">
<label for="post_title">Post Title:</label>
<input type="text" class="form-control" name="post_title" id
ito po code ko buong code ko
<?php
ob_start();
include "../partials/newnav.php";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Homepage</title>
<link rel= "stylesheet" href="../css/bootstrap.css">
<link rel= "stylesheet" href="../css/style.css">
<script src="../js/bootstrap.bundle.js"></script>
<script src="../js/style.js"></script>
<script src="../ajax/sweetalert2.all.min.js"></script>
<script src="../ajax/jquery-3.7.0.min.js"></script>

</head>
<body>
<div class="container col-md-6 text-center">
<br>
<h1>WELCOME To My Thread!</h1>

<br>

<br>
</div>
<?php
if(isset($_GET['id'])){
$id_comment = $_GET['id'];
// Query to fetch the specific content based on the comment_id
?>
<?php
if (isset($_POST['post'])){
$page_content = mysqli_real_escape_string($con,$_POST ['post_content']);
$pagecontent = mysqli_real_escape_string($con,$_POST ['postcontent']);



mysqli_query($con,"INSERT INTO post (comment,title,date_created,user_id) values ('$page_content','$pagecontent','".strtotime(date("Y-m-d h:i:sa"))."','$user_id') ")or die(mysqli_error());

}

?>
<?php
$post_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_created AS TimeSpent FROM post LEFT JOIN registration on registration.user_id = post.user_id where comment_id = '$id_comment' ORDER BY comment_id DESC limit 1 ") or die (mysqli_error());

while($post_row = mysqli_fetch_array($post_query)){
$id = $post_row['comment_id'];
$upid = $post_row['user_id'];
$posted_by = $post_row['username'];
?>
<div class="container col-md-6 bg-body-tertiary border rounded-3" >
<a style="text-decoration:none; float:left;" href="deletepost.php<?php echo '?id='.$id; ?>">
<div class="pt-3">
Posted by: <a href="#" style= "margin-left:10px; text-decoration:none;"> <?php echo $posted_by; ?></a>
<div class="" style="font-size:12px;">

<br>
<h6><?php echo $post_row['comment'];?></h6>
<br>
<form method="post">

<div class="container col-md-6">
Comment:<br>
<input type="hidden" name="id" value="<?php echo $id; ?>">
<textarea name="comment_content" class="form-control" rows="4" cols="50" style="" placeholder=".........Type your comment here........" required></textarea>
<div class="form-group mt-2">
<input class="w-25" type="submit" name="comment" value ="Reply" style="background-color:#0D52C7;">
</div>
</div>
</form>

</br>
<?php

if (isset($_POST['comment'])){
$comment_content = $_POST['comment_content'];
$post_id=$_POST['id'];

mysqli_query($con,"insert into comment (comment,date_posted,user_id,comment_id) values ('$comment_content','".strtotime(date("Y-m-d h:i:sa"))."','$user_id','$post_id')") or die (mysqli_error());
}

?>

<?php
$comment_query = mysqli_query($con, "SELECT *, UNIX_TIMESTAMP() - date_posted AS TimeSpent FROM comment INNER JOIN registration ON registration.user_id = comment.user_id WHERE comment.comment_id = '$id_comment' ORDER BY date_posted DESC") or die(mysqli_error());
while ($comment_row=mysqli_fetch_array($comment_query)){
$comment_by = $comment_row['username'];


?>
<div class="container col-md-6 bg-body-tertiary border rounded-3">
Comment by: <a href="#" style= "margin-left:10px; text-decoration:none;"> <?php echo $comment_by; ?></a>
<div class="" style="font-size:12px;">
<?php
$days = floor($comment_row['TimeSpent'] / (60 * 60 * 24));
$remainder = $comment_row['TimeSpent'] % (60 * 60 * 24);
$hours = floor($remainder / (60 * 60));
$remainder = $remainder % (60 * 60);
$minutes = floor($remainder / 60);
$seconds = $remainder % 60;
if($days > 0)
echo date('F d, Y - H:i:sa', $comment_row['date_posted']);
elseif($days == 0 && $hours == 0 && $minutes == 0)
echo "A few seconds ago";
elseif($days == 0 && $hours == 0)
echo $minutes.' minutes ago';
?>
<img src ="../images/hour.png" alt = "My hour" style ="width:12px;">
</div>


<div class="mb-3">
<?php echo $comment_row['comment']; ?>
</div>
</div>

<br>

<?php
}}}?>


<hr>

<?php
include "../partials/footer.php";
?>


</body>
</html>

then ito nman yun

yun content html

<h1>Discussion Thread</h1>
</div>
<form method="POST" action="replies.php">
<div class="input-group mb-2">
<span class="input-group-text fw-bold" id="basic-addon1">TITLE</span>
<input type="text" name="postcontent" class="form-control" placeholder="Please enter the title of your discussion here." aria-label="Username" aria-describedby="basic-addon1">
</div>
<label class="fw-bold mb-2" for="w3review">Content:</label>
<textarea name="post_content" class="form-control" id="post" rows="10" cols="50" placeholder="Your Content....."></textarea>
<div class="form-group mb-5 mt-2" style="text-align: right">
<input type="submit" name="post" class="w-25" value="Post" style="background-color:#0D52C7;">
<!-- <input class="col-md-3" type="submit" value="Post" style="background:#42A5F5";> -->
</div>
</div>
</form>
 

Similar threads

Back
Top