问题描述
嗨,我正在尝试使用$ wpdb连接到MysqL表时在wordpress短代码内用PHP创建一个表。我已经写了/找到了如何使用基本的PHP和传统的连接来做到这一点,但是我编写的代码无法正常工作,我确定我错过了一些东西。有人可以在下面的代码中告诉我我哪里出错了吗?谢谢。
全局$ wpdb;
$wpdb->query( $wpdb->prepare("SELECT * FROM wp_wpdatatable_4"));
$result=MysqL_query(query);
$numfields = MysqL_num_fields($result);
echo "<table border=1><tr>";
for ($i=0; $i < $numfields; $i++) // Header
{ echo '<th>'.MysqL_field_name($result,$i).'</th>'; }
echo "</tr>";
while
($res=MysqL_fetch_row($result)) //you may use MysqL_fatch_array($result) which can hendel both $res[name] and $res[1]
{
echo"
<tr>
<td> $res[0]</td>
<td> $res[1]</td>
<td> $res[2]</td>
.
.
.
</tr>";
}
echo"</table>";
}
解决方法
您的代码使用$ wpdb和php mysql函数的组合。
也许只使用$ wpdb
global $wpdb;
$data_table_4 = $wpdb->get_results( "SELECT * FROM wp_wpdatatable_4" );
if ( ! empty( $data_table_4 ) ) {
echo '<table>';
if ( ! empty( $data_table_4 ) ) {
foreach ( $data_table_4 as $data_table_4_row ) {
echo '<tr>';
foreach ( $data_table_4_row as $row_item ) {
echo '<td>' . $row_item . '</td>';
}
echo '</tr>';
}
}
echo '</table>';
}