varchars Posted May 7, 2009 Share Posted May 7, 2009 Hi I'm a PHP-MySQL newbie who would appreciate some help. I set up a 48-field database to run in XAMPP with a script for searching just about any term or string in any field. Input is from simple web forms. The PHP coding was based on an old tutorial posted by Ton Rafi, all credit to him. The search script works perfectly in XAMPP 1.7 for Linux and correctly displays findings across the screen in a simple table. However, in the Windows version of XAMPP it gives errors such as the "Search string is empty..." even though a search string is present. The same error occurs in WAMP. The action is on a file named "srch.php". The code for that and its associated "config.php" file is shown below. The field references are repetitious but I left them in to complete the picture. I think the difficulty is with this line: $srch="%".$search."%"; I am aware that some code becomes deprecated as PHP is developed and more functions are added but I don't know much about it at present. Can some kind soul please suggest some "search-all" coding which will work in both versions of XAMPP and in stand-alone installations of PHP-MySQL. Many thanks for any help! --------------------------------------------------------------- config.php: <?php $db_host = "localhost"; $db_user = "root"; $db_password = ""; $db_name = "records"; $db_table = "records"; ?> --------------------------------------------------------------- srch.php: <?php if ($search) // perform search only if a string was entered. { mysql_connect("$db_host", "$db_user", "$db_password") or die(mysql_error()); mysql_select_db("vehicles") or die(mysql_error()); $srch="%".$search."%"; $query = "select * from $db_table WHERE f01 LIKE '$srch' || f02 LIKE '$srch' || f03 LIKE '$srch' || f04 LIKE '$srch' || f05 LIKE '$srch' || f06 LIKE '$srch' || f07 LIKE '$srch' || f08 LIKE '$srch' || f09 LIKE '$srch' || f10 LIKE '$srch' || f11 LIKE '$srch' || f12 LIKE '$srch' || f13 LIKE '$srch' || f14 LIKE '$srch' || f15 LIKE '$srch' || f16 LIKE '$srch' || f17 LIKE '$srch' || f18 LIKE '$srch' || f19 LIKE '$srch' || f20 LIKE '$srch' || f21 LIKE '$srch' || f22 LIKE '$srch' || f23 LIKE '$srch' || f24 LIKE '$srch' || f25 LIKE '$srch' || f26 LIKE '$srch' || f27 LIKE '$srch' || f28 LIKE '$srch' || f29 LIKE '$srch' || f30 LIKE '$srch' || f31 LIKE '$srch' || f32 LIKE '$srch' || f33 LIKE '$srch' || f34 LIKE '$srch' || f35 LIKE '$srch' || f36 LIKE '$srch' || f37 LIKE '$srch' || f38 LIKE '$srch' || f39 LIKE '$srch' || f40 LIKE '$srch' || f41 LIKE '$srch' || f42 LIKE '$srch' || f43 LIKE '$srch' || f44 LIKE '$srch' || f45 LIKE '$srch' || f46 LIKE '$srch' || f47 LIKE '$srch' || f48 LIKE '$srch'"; $result = mysql_db_query("vehicles", $query); if ($result) { echo "Here are the results:<br><br>"; echo "<table width=90% align=center border=1><tr> <td align=center bgcolor=#00FFFF>f01</td> <td align=center bgcolor=#00FFFF>f02</td> <td align=center bgcolor=#00FFFF>f03</td> <td align=center bgcolor=#00FFFF>f04</td> <td align=center bgcolor=#00FFFF>f05</td> <td align=center bgcolor=#00FFFF>f06</td> <td align=center bgcolor=#00FFFF>f07</td> <td align=center bgcolor=#00FFFF>f08</td> <td align=center bgcolor=#00FFFF>f09</td> <td align=center bgcolor=#00FFFF>f10</td> <td align=center bgcolor=#00FFFF>f11</td> <td align=center bgcolor=#00FFFF>f12</td> <td align=center bgcolor=#00FFFF>f13</td> <td align=center bgcolor=#00FFFF>f14</td> <td align=center bgcolor=#00FFFF>f15</td> <td align=center bgcolor=#00FFFF>f16</td> <td align=center bgcolor=#00FFFF>f17</td> <td align=center bgcolor=#00FFFF>f18</td> <td align=center bgcolor=#00FFFF>f19</td> <td align=center bgcolor=#00FFFF>f20</td> <td align=center bgcolor=#00FFFF>f21</td> <td align=center bgcolor=#00FFFF>f21</td> <td align=center bgcolor=#00FFFF>f22</td> <td align=center bgcolor=#00FFFF>f23</td> <td align=center bgcolor=#00FFFF>f24</td> <td align=center bgcolor=#00FFFF>f25</td> <td align=center bgcolor=#00FFFF>f26</td> <td align=center bgcolor=#00FFFF>f27</td> <td align=center bgcolor=#00FFFF>f28</td> <td align=center bgcolor=#00FFFF>f29</td> <td align=center bgcolor=#00FFFF>f30</td> <td align=center bgcolor=#00FFFF>f31</td> <td align=center bgcolor=#00FFFF>f32</td> <td align=center bgcolor=#00FFFF>f33</td> <td align=center bgcolor=#00FFFF>f34</td> <td align=center bgcolor=#00FFFF>f35</td> <td align=center bgcolor=#00FFFF>f36</td> <td align=center bgcolor=#00FFFF>f37</td> <td align=center bgcolor=#00FFFF>f38</td> <td align=center bgcolor=#00FFFF>f39</td> <td align=center bgcolor=#00FFFF>f40</td> <td align=center bgcolor=#00FFFF>f41</td> <td align=center bgcolor=#00FFFF>f42</td> <td align=center bgcolor=#00FFFF>f43</td> <td align=center bgcolor=#00FFFF>f44</td> <td align=center bgcolor=#00FFFF>f45</td> <td align=center bgcolor=#00FFFF>f46</td> <td align=center bgcolor=#00FFFF>f47</td> <td align=center bgcolor=#00FFFF>f48</td> </tr>"; while ($r = mysql_fetch_array($result)) { // Begin while $f01 = $r["f01"]; $f02 = $r["f02"]; $f03 = $r["f03"]; $f04 = $r["f04"]; $f05 = $r["f05"]; $f06 = $r["f06"]; $f07 = $r["f07"]; $f08 = $r["f08"]; $f09 = $r["f09"]; $f10 = $r["f10"]; $f11 = $r["f11"]; $f12 = $r["f12"]; $f13 = $r["f13"]; $f14 = $r["f14"]; $f15 = $r["f15"]; $f16 = $r["f16"]; $f17 = $r["f17"]; $f18 = $r["f18"]; $f19 = $r["f19"]; $f20 = $r["f20"]; $f21 = $r["f21"]; $f22 = $r["f22"]; $f23 = $r["f23"]; $f24 = $r["f24"]; $f25 = $r["f25"]; $f26 = $r["f26"]; $f27 = $r["f27"]; $f28 = $r["f28"]; $f29 = $r["f29"]; $f30 = $r["f30"]; $f31 = $r["f31"]; $f32 = $r["f32"]; $f33 = $r["f33"]; $f34 = $r["f34"]; $f35 = $r["f35"]; $f36 = $r["f36"]; $f37 = $r["f37"]; $f38 = $r["f38"]; $f39 = $r["f39"]; $f40 = $r["f40"]; $f41 = $r["f41"]; $f42 = $r["f42"]; $f43 = $r["f43"]; $f44 = $r["f44"]; $f45 = $r["f45"]; $f46 = $r["f46"]; $f47 = $r["f47"]; $f48 = $r["f48"]; echo "<tr> <td>$f01</td> <td>$f02</td> <td>$f03</td> <td>$f04</td> <td>$f05</td> <td>$f06</td> <td>$f07</td> <td>$f08</td> <td>$f09</td> <td>$f10</td> <td>$f11</td> <td>$f12</td> <td>$f13</td> <td>$f14</td> <td>$f15</td> <td>$f16</td> <td>$f17</td> <td>$f18</td> <td>$f19</td> <td>$f20</td> <td>$f21</td> <td>$f22</td> <td>$f23</td> <td>$f24</td> <td>$f25</td> <td>$f26</td> <td>$f27</td> <td>$f28</td> <td>$f29</td> <td>$f30</td> <td>$f31</td> <td>$f32</td> <td>$f33</td> <td>$f34</td> <td>$f35</td> <td>$f36</td> <td>$f37</td> <td>$f38</td> <td>$f39</td> <td>$f40</td> <td>$f41</td> <td>$f42</td> <td>$f43</td> <td>$f44</td> <td>$f45</td> <td>$f46</td> <td>$f47</td> <td>$f48</td> </tr> <tr> <td colspan=4 bgcolor=\"#ffffa0\">$comment</td> </tr>"; } // end while echo "</table>"; } else { echo "problems...."; } } else { echo "Search string is empty. <br> Go back and type a string to search"; } include ('links.x'); ?> END Link to comment https://forums.phpfreaks.com/topic/157208-search-code/ Share on other sites More sharing options...
trq Posted May 7, 2009 Share Posted May 7, 2009 Firstly, that code is terrible. You should look into database normalization or at least loops if your going to stick with such a poor db design. Now, where is $search defined? Link to comment https://forums.phpfreaks.com/topic/157208-search-code/#findComment-828358 Share on other sites More sharing options...
Ken2k7 Posted May 7, 2009 Share Posted May 7, 2009 One more thing. Read #4 of Forum DOs - http://www.phpfreaks.com/page/rules-and-terms-of-service#toc_forum_dos Link to comment https://forums.phpfreaks.com/topic/157208-search-code/#findComment-828429 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.