Jump to content

INNER JOIN question


genzedu777

Recommended Posts

Hi guys,

 

Would like to check if I have done my INNER JOIN function correctly, as I have received and an error msg

 

Warning: mysqli_error() expects exactly 1 parameter, 0 given in D:\inetpub\vhosts\111.com\httpdocs\111.com\registration3.php on line 598.

 

Thanks

 

 

<?php

$dbc = mysqli_connect('localhost', '111', '111', '111')

or die(mysqli_error());

$query = "SELECT sl.subject_level_id, sl.level_id, sl.subject_id, tl.name AS level_name, ts.name AS subject_name " .

    "FROM tutor_subject_level AS sl " .

    "INNER JOIN tutor_level AS tl USING (level_id) " .

    "INNER JOIN tutor_subject AS ts USING (subject_id) ";

$sql = mysqli_query($dbc, $query);

 

echo'<table><tr>'; // Start your table outside the loop... and your first row

$count = 0; // Start your counter

while($data = mysqli_fetch_array($sql)) {

/* Check to see whether or not this is a *new* row

If it is, then end the previous and start the next and restart the counter.

*/

if ($count % 5 == 0) {

echo "</tr><tr>"; $count = 0;

}

echo '<td><input name="subject_level[]" type="checkbox" id="'.$data['subject_level_id'].'" value="'.$data['subject_level_id'].'"/>';

echo '<label for="'.$data['subject_name'].'">'.$data['subject_name'].'</label></td>';

$count++; //Increment the count

}

echo '</tr></table><br/><br/>'; //Close your last row and your table, outside the loop

 

?>

 

 

Wilson

Link to comment
https://forums.phpfreaks.com/topic/218065-inner-join-question/
Share on other sites

Test to see if your connection is sucessful this way as well as your query error:

 

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if (!mysqli_query($link, "SET a=1")) {
    printf("Errormessage: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?> 

Link to comment
https://forums.phpfreaks.com/topic/218065-inner-join-question/#findComment-1131608
Share on other sites

Hi Revraz,

 

I have amended my codes accordingly through your instructions.

 

And I have received this error msg,

 

Errormessage: Unknown system variable 'a'

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\inetpub\vhosts\111.com\httpdocs\111\111.php on line 612

 

Line 612 is referred to the code which I have highlighted in blue. Do you have any idea what went wrong?

 

 

<?php

$dbc = mysqli_connect('localhost', '111', '111', '111');

 

/* check connection */

if (mysqli_connect_errno()) {

    printf("Connect failed: %s\n", mysqli_connect_error());

    exit();

}

 

$query = "SELECT sl.subject_level_id, sl.level_id, sl.subject_id, tl.name AS level_name, ts.name AS subject_name " .

    "FROM tutor_subject_level AS sl " .

    "INNER JOIN tutor_level AS tl USING (level_id) " .

    "INNER JOIN tutor_subject AS ts USING (subject_id) ";

$sql = mysqli_query($dbc, $query);

 

/* check connection */

if (!mysqli_query($dbc, "SET a=1")) {

    printf("Errormessage: %s\n", mysqli_error($dbc));

}

 

echo'<table><tr>'; // Start your table outside the loop... and your first row

$count = 0; // Start your counter

while($data = mysqli_fetch_array($sql)) {

/* Check to see whether or not this is a *new* row

If it is, then end the previous and start the next and restart the counter.

*/

if ($count % 5 == 0) {

echo "</tr><tr>"; $count = 0;

}

echo '<td><input name="subject_level[]" type="checkbox" id="'.$data['subject_level_id'].'" value="'.$data['subject_level_id'].'"/>';

echo '<label for="'.$data['subject_name'].'">'.$data['subject_name'].'</label></td>';

$count++; //Increment the count

}

echo '</tr></table><br/><br/>'; //Close your last row and your table, outside the loop

 

mysqli_close($dbc);

?>

Link to comment
https://forums.phpfreaks.com/topic/218065-inner-join-question/#findComment-1131625
Share on other sites

Hi revraz,

 

How do I echo $sql? I have tried, but it doesn't work. From what you see, in terms of my INNER JOIN code, did I structure it correctly? Thanks

 

<?php

 

$query = "SELECT sl.subject_level_id, sl.level_id, sl.subject_id, tl.name AS level_name, ts.name AS subject_name " .

    "FROM tutor_subject_level AS sl " .

    "INNER JOIN tutor_level AS tl USING (level_id) " .

    "INNER JOIN tutor_subject AS ts USING (subject_id) ";

  $sql = mysqli_query($dbc, $query);

  echo '$sql';

 

?>

Link to comment
https://forums.phpfreaks.com/topic/218065-inner-join-question/#findComment-1131685
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.