As a very humble and fresh monk I come here to seek some guidance on accomplishing the following:
My current project aims to aid in ebookmanagement. It does a lookup in an SQLite database for e-books matching the search criteria. The next step is where I'm stuck right now. The results from the database search need to be returned to the program. An array seems the most obvious solution and while the results consist of a set of columns, it should be a multidimensional one where @results[0]
0-7 holds the first entry, @results
1 0-7 the next one and so on. However, due to my poor skills on array's I am unable to put the results into such an array. For a start I tried to put the book's title into element
x 1 of the array but no luck.
$sth = $dbh->prepare("select author, title, language, format, filename
+, fullpath, category, tags from ebooks where author like'%$searchauth
+%' and title like'%$searchtitle%' and language='$searchlang' and form
+at='$searchfmt' and category like'%$searchcategory%' and tags like'%$
+searchtags%' LIMIT 50;");<br/>
(Above is the working query, just for informational purposes.)
Below is my code which can certainly be improved. Please guide me!
$sth->execute();
$loopcount = 0;
while ($row = $sth->fetchrow_arrayref()) {
# print "@$row[0] @$row[1] @$row[2] @$row[3] \n";
print "File found: @$row[4] \n";
# print "Category: @$row[6] Tags: @$row[7]\n\n";
$author = @$row[0];
$title = @$row[1];
$results[$loopcount] [1] = (@$row[1]); THIS LINE IS NOT WORKING.
$language = @$row[2];
$format = @$row[3];
$filename = @$row[4];
$fullpath = @$row[5];
$category = @$row[6];
$tags = @$row[7];
print "$loopcount $results[$loopcount] [1]";
$loopcount++;
}
When removing the # from the lines containing the print statements, the output is what you would expect; i.e. results are being returned from the query. My problem is how to put them into the array. I do use 'strict' and the program returns no syntax errors.
/emgi
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.