Strcmp无法正常运行php

Strcmp无法正常运行php

问题描述:

    <?php
        $connect = mysqli_connect("localhost","root", "","nets") or die("Couldn't connect to database");        
        $query = mysqli_query($connect,"SHOW columns FROM users");
          while($row = $query->fetch_assoc()) {
                if( (strcmp($row['Field'],"Name") !== 0) ||
                    (strcmp($row['Field'],"ID") !== 0)||
                    (strcmp($row['Field'],"Password") !== 0)||
                    (strcmp($row['Field'],"Email") !== 0)||
                    (strcmp($row['Field'],"Company") !== 0)||
                    (strcmp($row['Field'],"Gender") !== 0)||
                    (strcmp($row['Field'],"Citizen") !== 0)){
            ?>
            <input type="radio" name="admin" value="'$row'"> 
                <?php
                    echo $row['Field'];
                    }
                ?>
                <br/>
            <?php
            }
            ?>   

Please suggest how to skip the "Name", "ID", "Password", "Email", "Company", "Gender", "Citizen" rows and print the rest of them.

 &lt;?php 
 $ connect = mysqli_connect(“localhost”,“root”,“”  ,“网”)或死(“无法连接到数据库”);  
 $ query = mysqli_query($ connect,“SHOW columns FROM users”); 
 while($ row = $ query-&gt; fetch_assoc()){
 if((strcmp($ row ['Field'],  “名称”)!== 0)|| 
(strcmp($ row ['Field'],“ID”)!== 0)|| 
(strcmp($ row ['Field'],“密码 “)!== 0)|| 
(strcmp($ row ['Field'],”Email“)!== 0)|| 
(strcmp($ row ['Field'],”Company“)  !== 0)|| 
(strcmp($ row ['Field'],“Gender”)!== 0)|| 
(strcmp($ row ['Field'],“Citizen”)!=  = 0)){
?&gt; 
&lt; input type =“radio”name =“admin”value =“'$ row'”&gt;  
&lt;?php 
 echo $ row ['Field']; 
} 
?&gt; 
&lt; br /&gt; 
&lt;?php 
} 
?&gt;  
  code>  pre> 
 
 

请建议如何跳过“姓名”,“身份证”,“密码”,“电子邮件”,“公司”,“性别”,“公民” 行并打印其余部分。 p> div>

Instead of fetching all columns and applying PHP if condition, it will be better if you fetch only the required columns.

Try this query:

SHOW columns FROM users WHERE field NOT IN ('Name', 'ID', 'Password', 'Email', 'Company', 'Gender', 'Citizen')

If you don't want to modify your code too much, then I think you just have to change || to && because your code will currently print a radio button if even one field doesn't match.

Like this:

 <?php
$connect = mysqli_connect("localhost","root", "","nets") or die("Couldn't connect to database");        
$query = mysqli_query($connect,"SHOW columns FROM users");
while($row = $query->fetch_assoc()) {
        if( (strcmp($row['Field'],"Name") !== 0) &&
            (strcmp($row['Field'],"ID") !== 0) &&
            (strcmp($row['Field'],"Password") !== 0) &&
            (strcmp($row['Field'],"Email") !== 0) &&
            (strcmp($row['Field'],"Company") !== 0) &&
            (strcmp($row['Field'],"Gender") !== 0) &&
            (strcmp($row['Field'],"Citizen") !== 0)){
        ?>
        <input type="radio" name="admin" value="'$row'"> 
          <?php
              echo $row['Field'];
        }
        ?>
        <br/>
<?php
}
?>