目次
回复讨论(解决方案)
ホームページ バックエンド開発 PHPチュートリアル エラー メッセージ: 致命的なエラー: 未定義の関数 mysqli_num_row() の呼び出し

エラー メッセージ: 致命的なエラー: 未定義の関数 mysqli_num_row() の呼び出し

Jun 23, 2016 pm 01:59 PM

错误提示就如标题所示,网上也找了一圈,差不多都是说没有开启php_mysqli模块,我的wampserver环境本身已经开启,但是我还是去重新关闭在开启,结果都是一样,有一点很奇怪,网上一般都是在链接数据库的时候失败,但是我链接数据库没有提示失败,而是在使用mysqli_num_row时候出现错误

下面先上下我在查看phpinfo下mysqli下的开启情况
               mysqli
MysqlI Support enabled
Client API library version  mysqlnd 5.0.8-dev - 20102224 - $Id: 65fe78e70ce53d27a6cd578597722950e490b0d0 $
Active Persistent Links  0
Inactive Persistent Links  0
Active Links  0

Directive Local Value Master Value
mysqli.allow_local_infile On On
mysqli.allow_persistent On On
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.max_persistent Unlimited Unlimited
mysqli.reconnect Off Off


下面是我的代码部分

<?phprequire ('inc/config.php');$page_title = '注册-CNode博客';include ('inc/header.php');if ($_SERVER['REQUEST_METHOD'] == 'POST') {	require (MYSQL);	$trimmed = array_map('trim', $_POST);	$errors = array();	if ($_POST['code'] != $_SESSION['code']) {		$errors[] = '验证码不正确!';	}	if(empty($trimmed['username'])) {		$errors[] = '用户名不能为空';	} else {		if (preg_match ('/^[A-Z \'.-]{5,20}$/i', $trimmed['username'])) {			$un = mysqli_real_escape_string ($conn, $trimmed['username']);		} else {			$errors[] = '您的用户名格式不对';		}	}		if(empty($trimmed['email'])) {		$errors[] = '电子邮件地址不能为空';	} else {		if (filter_var($trimmed['email'], FILTER_VALIDATE_EMAIL)) {			$e = mysqli_real_escape_string ($conn, $trimmed['email']);		} else {			$errors[] = '您的电子邮件地址格式不对';		}	}		if(!empty($trimmed['password'])) {				if (preg_match ('/^\w{4,20}$/', $trimmed['password']) ) {			if ($trimmed['password'] == $trimmed['notpassword']) {				$p = mysqli_real_escape_string ($conn, $trimmed['password']);			} else {				$errors[] = '登录密码和确认密码不一致';			}		} else {			$errors[] = '请输入有效的登录密码';		}			} else {		$errors[] = '登录密码不能为空';	}		if(empty($trimmed['notpassword'])) {		$errors[] = '确认密码不能为空';	}		if (empty($errors)) {		// 确定电子邮件是否被使用		$q = "SELECT user_id FROM users WHERE email='$e'";		$r = mysqli_query ($conn, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($conn));		if (mysqli_num_row($r) == 0) { // 如果查询验证电子邮件地址未被使用,则注册用户			$a = md5(uniqid(rand(), true)); // 创建一个激活码(创建一个长度正好为32个字符的字符串)			$q = "INSERT INTO users (username, email, password, active, registration_date) VALUES ('$un', '$e', SHA1('$p'), '$a', NOW() )";			$r = mysqli_query ($conn, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($conn));				if (mysqli_affected_rows($conn) == 1) {				$body = "感谢您的注册,激活您的帐户,请点击这里:\n\n";				$body .= BASE_URL . 'activate.php?x=' . urlencode($e) . "&y=$a";				mail($trimmed['email'], '确认注册', $body, 'From: 414412984@qq.com');				echo '<h3>感谢您的注册!一封确认邮件已经发送到您的邮箱。请在该电子邮件中单击链接,以激活您的帐户。</h3>';				exit();		 	} else { 				echo '<p class="error">用户注册失败,为此我们表示抱歉,请在注册一次</p>';			}				} else { // 查询验证出来的电子邮件地址已经被注册			echo '<p class="error">电子邮件地址已经被注册</p>';		}	} else {		foreach ($errors as $msg) { // Print each error.			echo " - $msg<br />\n";		}	}	mysqli_close($conn);}?><div class="wrap login">	<div class="path"><a href="#">主页</a> &gt; 注册</div>	<div class="info">    <form method="post" name="register" action="">		<p>		  <label for="username">用户名:</label><input type="text" name="username" id="username" class="text" value="<?php if (isset($trimmed['username'])) echo $trimmed['username']; ?>" />		  <span>限5~20个字符,可用中文、英文、数字及“_”、“-”组成</span>		</p>        <p>          <label for="email">电子邮件:</label><input type="text" name="email" id="email" class="text" value="<?php if (isset($trimmed['email'])) echo $trimmed['email']; ?>" />          <span>请填写您的常用邮箱,它是您激活帐号和找回密码的凭证!</span>        </p>        		<p>		  <label for="password">登录密码:</label><input type="password" name="password" id="password" class="text" value="<?php if (isset($trimmed['password'])) echo $trimmed['password']; ?>" />		  <span>密码由4-20位字母、数字组成</span>		</p>		<p>          <label for="notpassword">确认密码:</label><input type="password" name="notpassword" id="notpassword" class="text" value="<?php if (isset($trimmed['notpassword'])) echo $trimmed['notpassword']; ?>" />          <span>请再次输入密码</span>        </p>				<p>		  <label for="yzm">验证码:</label><input type="text" name="code" id="yzm" class="text1" />		  <img src="code.php" id="code" />          <span>看不清,请重新点击验证码(注意大小写)</span>		</p>		<div class="submit">		   <input type="submit" name="submit" class="btn-1" value="立即注册" />		</div>	</form>	</div>	</div>	<?phpinclude ('inc/footer.php');?>
ログイン後にコピー


回复讨论(解决方案)

print_r(get_extension_funcs('mysqli'));
ログイン後にコピー

你自己看看有没有
Array
(
    [0] => mysqli_affected_rows
    [1] => mysqli_autocommit
    [2] => mysqli_change_user
    [3] => mysqli_character_set_name
    [4] => mysqli_close
    [5] => mysqli_commit
    [6] => mysqli_connect
    [7] => mysqli_connect_errno
    [8] => mysqli_connect_error
    [9] => mysqli_data_seek
    [10] => mysqli_dump_debug_info
    [11] => mysqli_debug
    [12] => mysqli_errno
    [13] => mysqli_error
    [14] => mysqli_error_list
    [15] => mysqli_stmt_execute
    [16] => mysqli_execute
    [17] => mysqli_fetch_field
    [18] => mysqli_fetch_fields
    [19] => mysqli_fetch_field_direct
    [20] => mysqli_fetch_lengths
    [21] => mysqli_fetch_all
    [22] => mysqli_fetch_array
    [23] => mysqli_fetch_assoc
    [24] => mysqli_fetch_object
    [25] => mysqli_fetch_row
    [26] => mysqli_field_count
    [27] => mysqli_field_seek
    [28] => mysqli_field_tell
    [29] => mysqli_free_result
    [30] => mysqli_get_connection_stats
    [31] => mysqli_get_client_stats
    [32] => mysqli_get_charset
    [33] => mysqli_get_client_info
    [34] => mysqli_get_client_version
    [35] => mysqli_get_host_info
    [36] => mysqli_get_proto_info
    [37] => mysqli_get_server_info
    [38] => mysqli_get_server_version
    [39] => mysqli_get_warnings
    [40] => mysqli_init
    [41] => mysqli_info
    [42] => mysqli_insert_id
    [43] => mysqli_kill
    [44] => mysqli_more_results
    [45] => mysqli_multi_query
    [46] => mysqli_next_result
    [47] => mysqli_num_fields
    [48] =>  mysqli_num_rows 这个是你要的吗?但你写错了
    [49] => mysqli_options
    [50] => mysqli_ping
    [51] => mysqli_poll
    [52] => mysqli_prepare
    [53] => mysqli_report
    [54] => mysqli_query
    [55] => mysqli_real_connect
    [56] => mysqli_real_escape_string
    [57] => mysqli_real_query
    [58] => mysqli_reap_async_query
    [59] => mysqli_rollback
    [60] => mysqli_select_db
    [61] => mysqli_set_charset
    [62] => mysqli_stmt_affected_rows
    [63] => mysqli_stmt_attr_get
[64] => mysqli_stmt_attr_set
[65] => mysqli_stmt_bind_param
[66] => mysqli_stmt_bind_result
[67] => mysqli_stmt_close
[68] => mysqli_stmt_data_seek
[69] => mysqli_stmt_errno
[70] => mysqli_stmt_error
[71] => mysqli_stmt_error_list
[72] => mysqli_stmt_fetch
[73] => mysqli_stmt_field_count
[74] => mysqli_stmt_free_result
[75] => mysqli_stmt_get_result
[76] => mysqli_stmt_get_warnings
[77] => mysqli_stmt_init
[78] => mysqli_stmt_insert_id
[79] => mysqli_stmt_more_results
[80] => mysqli_stmt_next_result
[81] => mysqli_stmt_num_rows
[82] => mysqli_stmt_param_count
[83] => mysqli_stmt_prepare
[84] => mysqli_stmt_reset
[85] => mysqli_stmt_result_metadata
[86] => mysqli_stmt_send_long_data
[87] => mysqli_stmt_store_result
[88] => mysqli_stmt_sqlstate
[89] => mysqli_sqlstate
[90] => mysqli_ssl_set
[91] => mysqli_stat
[92] => mysqli_store_result
[93] => mysqli_thread_id
[94] => mysqli_thread_safe
[95] => mysqli_use_result
[96] => mysqli_warning_count
[97] => mysqli_refresh
[98] => mysqli_escape_string
[99] => mysqli_set_opt
)

真是和你说的一样,太粗了心,你给的方法很直观,谢谢

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles