복붙노트

경고 : mysqli_query ()는 적어도 2 개의 매개 변수를 필요로한다. 뭐?

PHP

경고 : mysqli_query ()는 적어도 2 개의 매개 변수를 필요로한다. 뭐?

데이터베이스에서 두 개의 이름을 선택하고 표시하는 PHP 페이지를 만들었습니다.

그것은 단지 말한다 :

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/tdoylex1/public_html/dorkhub/index.php on line 4

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/tdoylex1/public_html/dorkhub/index.php on line 8

내 코드는 다음과 같습니다.

<?php mysqli_connect(localhost,tdoylex1_dork,dorkk,tdoylex1_dork);
$name1 = mysqli_query("SELECT name1 FROM users
ORDER BY RAND()
LIMIT 1");

$name2 = mysqli_query("SELECT name FROM users
ORDER BY RAND()
LIMIT 1");

?>

<title>DorkHub. The online name-rating website.</title>
<link rel="stylesheet" type="text/css" href="style.css">
<body bgcolor='EAEAEA'>
<center>
<div id='TITLE'>
    <h2>DorkHub. The online name-rating website.</h2>
</div>
    <p>
    <br>
    <h3><?php echo $name1; ?></h3><h4> against </h4><h3><?php echo $name1; ?></h3>
    <br><br>
    <h2 style='font-family:Arial, Helvetica, sans-serif;'>Who's sounds the dorkiest?</h2>
    <br><br>
    <div id='vote'>
    <h3 id='done' style='margin-right: 10px'>VOTE FOR FIRST</h3><h3 id='done'>VOTE FOR LAST</h3>

해결법

  1. ==============================

    1.문제는 mysqli 연결을 저장하지 않는다는 것입니다. 연결 대상 변경 :

    문제는 mysqli 연결을 저장하지 않는다는 것입니다. 연결 대상 변경 :

    $aVar = mysqli_connect('localhost','tdoylex1_dork','dorkk','tdoylex1_dork');
    

    그런 다음 쿼리에 포함 시키십시오.

    $query1 = mysqli_query($aVar, "SELECT name1 FROM users
        ORDER BY RAND()
        LIMIT 1");
    $aName1 = mysqli_fetch_assoc($query1);
    $name1 = $aName1['name1'];
    

    또한 위의 연결 변수를 문자열로 묶는 것을 잊지 마십시오. 이것은 오류의 원인이지만 잘못된 함수를 사용하고 있습니다. mysqli_query는 질의 객체를 반환하지만 mysqli_fetch_assoc http://php.net/manual/en/mysqli-result와 같은 사용자에게 필요한 데이터를 가져옵니다. .fetch-assoc.php를 사용하여 실제로 데이터를 변수로 가져옵니다.

  2. ==============================

    2.mysqli_queryexcepts 2 매개 변수, 첫 번째 변수는 mysqli_connectequivalent 변수, 두 번째 매개 변수는 제공 한 쿼리

    mysqli_queryexcepts 2 매개 변수, 첫 번째 변수는 mysqli_connectequivalent 변수, 두 번째 매개 변수는 제공 한 쿼리

    $name1 = mysqli_connect(localhost,tdoylex1_dork,dorkk,tdoylex1_dork);
    
    $name2 = mysqli_query($name1,"SELECT name FROM users ORDER BY RAND() LIMIT 1");
    
  3. from https://stackoverflow.com/questions/19148407/warning-mysqli-query-expects-at-least-2-parameters-1-given-what by cc-by-sa and MIT license