php查询数据集的几种方式(mysql
php操作数据集几种方式 一、 mysql_unbuffered_query() 一边查询一边给出结果,不缓存在页面当中,适合大数据处理,使用完成后,就自动销毁数据集. 不能再使用mysql_data_set($result,count)重新定位数据集中游标的启示位置。 mysql_unbuffered_query查询的结
php操作数据集几种方式
一、 mysql_unbuffered_query()
一边查询一边给出结果,不缓存在页面当中,适合大数据处理,使用完成后,就自动销毁数据集.
- 不能再使用mysql_data_set($result,count)重新定位数据集中游标的启示位置。
- mysql_unbuffered_query查询的结果集中,类似mysql_fetch_array处理过程中,不可以使用mysql_num_rows获取结果集行数。
- mysql_unbuffered_query查询的结果集中,类似mysql_fetch_array处理过程完成后,可以使用mysql_num_rows获取结果集行数。
- 之后再次操作使用类似mysql_fetch_array的函数操作数据集,将没有数据集行数为0,将不输出。
二、 mysql_query()
查询结果出来全部放在缓存里面,实用于数据量小的方便操作。
- 类似mysql_fetch_array的函数在操作过程中还是操作完成后,mysql_num_rows都可以获得正确的数据行数。
- mysql_data_set($result,count)可以在任意位置操作数据集的下表。
- mysqli_free_result($result);清除内存中的查询集后,同mysql_unbuffered_query()。
demo:
列子:标红部分为关键比较代码
<span> 1</span> <span>php </span><span> 2</span> <span> 3</span> <span> 4</span> <span> 5</span> <span>/*</span> <span> 6</span> <span> 7</span> <span> * 连接数据库 </span><span> 8</span> <span> 9</span> <span> * 固定不变的量,就直接用变量例如$mysql_host,变化的量例如$this->$mysql_dbname,表示当前调用者的dbname </span><span> 10</span> <span> 11</span> <span>*/</span> <span> 12</span> <span> 13</span> <span> 14</span> <span> 15</span> <span>header</span>("Content-Type:text/html;charset=utf-8"<span>); </span><span> 16</span> <span> 17</span> <span> 18</span> <span> 19</span> <span>class</span><span> DbConn{ </span><span> 20</span> <span> 21</span> <span> 22</span> <span> 23</span> <span>private</span> <span>$mysql_host</span>;<span>//</span><span>连接的主机</span> <span> 24</span> <span> 25</span> <span>private</span> <span>$mysql_user</span><span>; </span><span> 26</span> <span> 27</span> <span>public</span> <span>$mysql_pwd</span><span>; </span><span> 28</span> <span> 29</span> <span>private</span> <span>$mysql_language</span>;<span>//</span><span>数据库编码语言</span> <span> 30</span> <span> 31</span> <span>private</span> <span>$mysql_conn</span>;<span>//</span><span>Mysql连接对象</span> <span> 32</span> <span> 33</span> <span>private</span> <span>$db_select</span>; <span>//</span><span>选择的数据库对象</span> <span> 34</span> <span> 35</span> <span> 36</span> <span> 37</span> <span>public</span> <span>$mysql_dbname</span>;<span>//</span><span>选择要连接的数据库</span> <span> 38</span> <span> 39</span> <span>public</span> <span>$sqlstr</span>;<span>//</span><span>sql语句</span> <span> 40</span> <span> 41</span> <span>public</span> <span>$error</span>;<span>//</span><span>错误信息提示</span> <span> 42</span> <span> 43</span> <span> 44</span> <span> 45</span> <span>function</span><span> DbConn(){ </span><span> 46</span> <span> 47</span> <span>$this</span>->mysql_host ="localhost"<span>; </span><span> 48</span> <span> 49</span> <span>$this</span>->mysql_user="root"<span>; </span><span> 50</span> <span> 51</span> <span>$this</span>->mysql_pwd="sasa"<span>; </span><span> 52</span> <span> 53</span> <span>$this</span>->mysql_language="UTF8"<span>; </span><span> 54</span> <span> 55</span> <span>$this</span>->mysql_conn=<span>NULL</span><span>; </span><span> 56</span> <span> 57</span> <span>$this</span>->db_select=<span>NULL</span><span>; </span><span> 58</span> <span> 59</span> <span>$this</span>->sqlstr=""<span>; </span><span> 60</span> <span> 61</span> <span> 62</span> <span> 63</span> <span> } </span><span> 64</span> <span> 65</span> <span> 66</span> <span> 67</span> <span>//</span><span>设置错误信息</span> <span> 68</span> <span> 69</span> <span>private</span> <span>function</span> SetError(<span>$errormsg</span><span>) </span><span> 70</span> <span> 71</span> <span> { </span><span> 72</span> <span> 73</span> <span>$this</span>->error+=""+<span>$errormsg</span><span>; </span><span> 74</span> <span> 75</span> <span> } </span><span> 76</span> <span> 77</span> <span> 78</span> <span> 79</span> <span>public</span> <span>function</span><span> ShowError() </span><span> 80</span> <span> 81</span> <span> { </span><span> 82</span> <span> 83</span> <span>return</span> <span>$this</span>-><span>error; </span><span> 84</span> <span> 85</span> <span> } </span><span> 86</span> <span> 87</span> <span> 88</span> <span> 89</span> <span> 90</span> <span> 91</span> <span>//</span><span>连接mysql</span> <span> 92</span> <span> 93</span> <span>public</span> <span>function</span><span> Connect() </span><span> 94</span> <span> 95</span> <span> { </span><span> 96</span> <span> 97</span> <span>$this</span>->mysql_conn = <span>mysql_connect</span>(<span>$this</span>->mysql_host, <span>$this</span>->mysql_user,<span>$this</span>->mysql_pwd) or <span>die</span>("mysql连接错误"); <span>//</span><span>mysql连接</span> <span> 98</span> <span> 99</span> <span>$this</span>->SetError(<span>mysql_error</span><span>()); </span><span>100</span> <span>101</span> <span>//</span><span>选择连接的数据库名</span> <span>102</span> <span>103</span> <span>$this</span>->db_select = <span>mysql_select_db</span>(<span>$this</span>-><span>mysql_dbname</span>) or <span>die</span>("数据库无权限或数据库选择错误"<span>); </span><span>104</span> <span>105</span> <span>$this</span>->SetError(<span>mysql_error</span><span>()); </span><span>106</span> <span>107</span> <span>mysql_query</span>("set names 'utf8'"); <span>//</span><span>编码转化</span> <span>108</span> <span>109</span> <span> } </span><span>110</span> <span>111</span> <span>112</span> <span>113</span> <span>//</span><span>关闭连接</span> <span>114</span> <span>115</span> <span>public</span> <span>function</span><span> CloseCon() </span><span>116</span> <span>117</span> <span> { </span><span>118</span> <span>119</span> <span>mysql_close</span>(<span>$this</span>-><span>mysql_conn); </span><span>120</span> <span>121</span> <span> } </span><span>122</span> <span>123</span> <span>124</span> <span>125</span> <span>//</span><span>查询方法</span> <span>126</span> <span>127</span> <span>public</span> <span>function</span><span> SelectAll() </span><span>128</span> <span>129</span> <span> { </span><span>130</span> <span>131</span> <span>$result</span> = <span>mysql_query</span>(<span>$this</span>->sqlstr,<span>$this</span>-><span>mysql_conn); </span><span>132</span> <span>133</span> <span>if</span>(<span>$result</span><span>) </span><span>134</span> <span>135</span> <span> { </span><span>136</span> <span>137</span> <span>//</span><span> $result_row = mysqli_fetch_array($result); </span><span>138</span> <span>139</span> <span> // mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。 </span><span>140</span> <span>141</span> <span> // mysql_fetch_array() 将返回结果集中的键值或者数组,如果没有更多行则返回 FALSE。</span> <span>142</span> <span>143</span> <span>while</span>(<span>$result_row</span>= <span>mysql_fetch_array</span>(<span>$result</span><span>)) </span><span>144</span> <span>145</span> <span> { </span><span>146</span> <span>147</span> <span>$userid</span>=<span>$result_row</span>["userid"<span>]; </span><span>148</span> <span>149</span> <span>$username</span>=<span>$result_row</span>["username"<span>]; </span><span>150</span> <span>151</span> <span>$userpwd</span>=<span>$result_row</span>["userpwd"<span>]; </span><span>152</span> <span>153</span> <span>$useremail</span>=<span>$result_row</span>["useremail"<span>]; </span><span>154</span> <span>155</span> <span>156</span> <span>157</span> <span>echo</span> "<tr>"<span>; </span><span>158</span> <span>159</span> <span>echo</span> "<td>用户名id:</td> <td><span>$userid</span></td>"<span>; </span><span>160</span> <span>161</span> <span>echo</span> "<td>用户名:</td> <td><span>$username</span></td>"<span>; </span><span>162</span> <span>163</span> <span>echo</span> "<td>密码:</td> <td><span>$userpwd</span></td>"<span>; </span><span>164</span> <span>165</span> <span>echo</span> "<td>邮箱:</td> <td><span>$useremail</span></td>"<span>; </span><span>166</span> <span>167</span> <span>echo</span> "</tr>"<span>; </span><span>168</span> <span>169</span> <span>echo</span> ""<span>; </span><span>170</span> <span>171</span> <span>172</span> <span>173</span> <span>//</span><span>mysqli_free_result($result);清除内存中的查询集</span> <span>174</span> <span>175</span> <span> } </span><span>176</span> <span>177</span> <span> } </span><span>178</span> <span>179</span> <span> } </span><span>180</span> <span>181</span> <span>182</span> <span>183</span> <span>//</span><span>大数据查询验证两种查询数据集的区别</span> <span>184</span> <span>185</span> <span>public</span> <span>function</span><span> Select() </span><span>186</span> <span>187</span> <span> { </span><span>188</span> <span>189</span> <span>//</span><span>分别取消 mysql_unbuffered_query和mysql_query查看效果</span> <span>190</span> <span>191</span> <span>$result</span> = <span>mysql_unbuffered_query</span>(<span>$this</span>->sqlstr, <span>$this</span>-><span>mysql_conn); </span><span>192</span> <span>193</span> <span>//</span><span>$result = mysql_query($this->sqlstr, $this->mysql_conn);</span> <span>194</span> <span>195</span> <span>196</span> <span>197</span> <span>if</span>(<span>$result</span><span>) </span><span>198</span> <span>199</span> <span> { </span><span>200</span> <span>201</span> <span>//</span><span> $result_row = mysqli_fetch_array($result); </span><span>202</span> <span>203</span> <span> // mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。 </span><span>204</span> <span>205</span> <span> // mysql_fetch_array() 将返回结果集中的键值或者数组,如果没有更多行则返回 FALSE。</span> <span>206</span> <span>207</span> <span>while</span>(<span>$result_row</span>= <span>mysql_fetch_array</span>(<span>$result</span><span>)) </span><span>208</span> <span>209</span> <span> { </span><span>210</span> <span>211</span> <span>$userid</span>=<span>$result_row</span>["userid"<span>]; </span><span>212</span> <span>213</span> <span>$username</span>=<span>$result_row</span>["username"<span>]; </span><span>214</span> <span>215</span> <span>$userpwd</span>=<span>$result_row</span>["userpwd"<span>]; </span><span>216</span> <span>217</span> <span>$useremail</span>=<span>$result_row</span>["useremail"<span>]; </span><span>218</span> <span>219</span> <span>220</span> <span>221</span> <span>echo</span> "<tr>"<span>; </span><span>222</span> <span>223</span> <span>echo</span> "<td>用户名id:</td> <td><span>$userid</span></td>"<span>; </span><span>224</span> <span>225</span> <span>echo</span> "<td>用户名:</td> <td><span>$username</span></td>"<span>; </span><span>226</span> <span>227</span> <span>echo</span> "<td>密码:</td> <td><span>$userpwd</span></td>"<span>; </span><span>228</span> <span>229</span> <span>echo</span> "<td>邮箱:</td> <td><span>$useremail</span></td>"<span>; </span><span>230</span> <span>231</span> <span>echo</span> "</tr>"<span>; </span><span>232</span> <span>233</span> <span>echo</span> ""<span>; </span><span>234</span> <span>235</span> <span>echo</span> "处理过程中数据集总行数获取:"<span>; </span><span>236</span> <span>237</span> <span>//</span><span>mysql_unbuffered_query查询的结果集中,mysql_fetch_array处理过程中,不可以使用mysql_num_rows获取结果集行数</span> <span>238</span> <span>239</span> <span>echo</span> <span>mysql_num_rows</span>(<span>$result</span><span>); </span><span>240</span> <span>241</span> <span>echo</span> ""<span>; </span><span>242</span> <span>243</span> <span>244</span> <span>245</span> <span> } </span><span>246</span> <span>247</span> <span>mysql_data_seek</span>(<span>$result</span>,1);<span>//</span><span>把指针指向数据集最开始 </span><span>248</span> <span>249</span> <span> //mysql_unbuffered_query查询的结果集中,mysql_fetch_array处理过程完成后,可以使用mysql_num_rows获取结果集行数</span> <span>250</span> <span>251</span> <span>echo</span> "处理完成后,数据集总行数获取:"<span>; </span><span>252</span> <span>253</span> <span>echo</span> <span>mysql_num_rows</span>(<span>$result</span><span>); </span><span>254</span> <span>255</span> <span>echo</span> ""<span>; </span><span>256</span> <span>257</span> <span>258</span> <span>259</span> <span>260</span> <span>261</span> <span>//</span><span>再次操作mysql_unbuffered_query查询的结果集,数据集为空不输出</span> <span>262</span> <span>263</span> <span>while</span>(<span>$result_row</span>= <span>mysql_fetch_array</span>(<span>$result</span><span>)) </span><span>264</span> <span>265</span> <span> { </span><span>266</span> <span>267</span> <span>$userid</span>=<span>$result_row</span>["userid"<span>]; </span><span>268</span> <span>269</span> <span>$username</span>=<span>$result_row</span>["username"<span>]; </span><span>270</span> <span>271</span> <span>$userpwd</span>=<span>$result_row</span>["userpwd"<span>]; </span><span>272</span> <span>273</span> <span>$useremail</span>=<span>$result_row</span>["useremail"<span>]; </span><span>274</span> <span>275</span> <span>276</span> <span>277</span> <span>echo</span> "<tr>"<span>; </span><span>278</span> <span>279</span> <span>echo</span> "<td>用户名id:</td> <td><span>$userid</span></td>"<span>; </span><span>280</span> <span>281</span> <span>echo</span> "<td>用户名:</td> <td><span>$username</span></td>"<span>; </span><span>282</span> <span>283</span> <span>echo</span> "<td>密码:</td> <td><span>$userpwd</span></td>"<span>; </span><span>284</span> <span>285</span> <span>echo</span> "<td>邮箱:</td> <td><span>$useremail</span></td>"<span>; </span><span>286</span> <span>287</span> <span>echo</span> "</tr>"<span>; </span><span>288</span> <span>289</span> <span>echo</span> ""<span>; </span><span>290</span> <span>291</span> <span>292</span> <span>293</span> <span>//</span><span>mysqli_free_result($result);清除内存中的查询集</span> <span>294</span> <span>295</span> <span> } </span><span>296</span> <span>297</span> <span>echo</span> "再次处理后行数为:"<span>; </span><span>298</span> <span>299</span> <span>echo</span> <span>mysql_num_rows</span>(<span>$result</span><span>); </span><span>300</span> <span>301</span> <span>mysql_free_result</span>(<span>$result</span><span>); </span><span>302</span> <span>303</span> <span>304</span> <span>305</span> }<br>306 }<br>307 }
第一次写博客,希望大家多批评指正,另求php操作数据库的优秀框架,我刚从.net转为php很多不懂的,希望能得到更多的信息

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.
